原油価格見ながら1605国際石油開発帝石の短期トレード。最小二乗法で影響を調べる!
国際石油開発帝石(1605)は、原油・ガス開発生産の日本国内最大手ですから原油価格が上昇すれば、株価も上昇しやすい傾向がありますが、一方で日経平均採用銘柄ですから市場全体の動きにも大きく影響されます。原油価格が上昇しても日経平均が大きく下がれば、1605の株価も下がってしまうことがあります。
せっかくなのでちょっと自然科学的にアプローチしてみましょう。東証の個別株の変動量は、市場全体の変動量と、その銘柄特有の変動量を単純に重ねたものであり、特有の変動量は原油の変動率で決まる、という乱暴な仮説を立てます。国際石油開発帝石の株価変動率を、日経平均の変動率と原油の変動率だけで説明しようとするとどうなるでしょうか。
原油価格変動率はWTI原油価格連動型上場投信(1671)の変動率をx、日経225連動型上場投資信託(1321)の変動率をy、国際石油開発帝石(1605)の終値の変動率をzとし、z=ax+byと仮定した場合のa,bを求めてみましょう。理系の人は学生時代に物理や化学の実験データで似たようなことをやった経験あるかもしれません。株価で同じようなことをやってみるわけです。これはちょっと楽しいかも。
まず下準備としてYahooファイナンスなどから株価データを入手します。日々の四本値(始値、高値、安値、終値)だけの株価データでかまいません。使うのは終値だけです。次に1671の変動率xを求めます。変動率は終値同士から計算します。同様にして1321の変動率y、1605の変動率zを求めます。適当なセルにa,bの数値を入れます。まずは1とか0.5とか好きな数字を入れておきます(図では両方とも0.5が入っている)。
zの横に、ax+byの値を計算した列を作り、「z'」とします(図中では計算値[%]という列)。その横に(z-z')^2を計算した結果をコピペします。そして、(z-z')^2の和(残差平方の和)を計算します。
次に(z-z')^2の和が最小になるa,bの値をExcelに計算させます。アドインでソルバーを使えるようにします(Excelの標準インストール時はソルバーが有効になっていないと思うけど機能自体は既にインストールされているので、使える設定にするだけ)。これにより、(z-z')^2の和が最小になるa,bの値を計算させることができます。
目的セルに(z-z')^2の和のセルを指定します。最小二乗法は「差の二乗の和(残差平方和)」を最小化させる方法なので、目標値のところは最小値を選択します。また、変化させるセルはa,bのセルを指定します。これによりa,bを自動で変化させながら(z-z')^2の和が最小にしてくれます。2015~2016年の株価データ実施したところ、a=0.4144、b=0.6657となりました。つまり、1671が2パーセント上昇し、さらに日経平均が1パーセント上昇した日の国際石油開発帝石(1605)上昇率の推定値は2x0.4144+1x0.6657=1.4945パーセント、ということになります(あくまでも推定値ですぞ)。
ソルバーは解析的に解けない(紙と鉛筆では絶対に解けない)超越方程式の解を求めるときにも使えるし、2次方程式の解の公式を忘れてしまったような場合に力技で数値的に解くこともできます(解が複素数の場合を除く)。シュレディンガー方程式を自己無撞着(じこむどうちゃく、self-consistent)に解いてエネルギー準位を求めるだとか、境界条件が複雑なポアソン方程式を数値計算してポテンシャルを求めるだとか、そういう使い方もできます。
今回やったような差の二乗の和を最小化する方法は、最小二乗法と言う名称であり科学技術分野のデータ処理ではメジャーな方法です。今回、z=ax+byとしましたが、z=ax+by+cとしてa,b,cを各々求めることもできます。どういう価格モデルで説明できるか、ということに帰着するので自分の好きな式で良いですが、パラメータが多くなりすぎると式が発散してまともな解が得られません(一応、計算結果が出るけどデタラメな値になりがち)。変動率ではなくて日経平均の値そのものを変数にして計算することも勿論できます。
2015~2016年の株価データ実施したところ、a=0.4144、b=0.6657となったわけですが、期間を変えると数値はけっこう変化しますので、実際に活用したい人はご自分で2017年の株価データで計算させてみて下さいね。
しかしながら、実際にデイトレに使ってみると、1605の値動きはけっこう性悪で、計算上は下がると思ったのに、とことん上がったり、逆にとことん下がる日が多いので感覚的な逆張り指標でデイトレに使うとけっこうヤラレる日があります。自分の価格決定モデルに対して乖離率が一定レベルのときに売買したとき、どうなったかは統計を取って売買優位性を判断すべきでしょう。上手にやれば1605の売買システムを作ることも可能です。逆張りの平均回帰型と順張りモメンタム型の2種類を作れそうですな。こうした売買ルール構築のための一般的な教科書としては、クオンツトレーディング入門という本が参考になると思います。このほか「期待上昇率と、実際の上昇率の差を累積していって、それが一定レベルになったら買うとどうか?」というようなアイデアなど、今回の結果も活用した手法は幾つか考えられると思います。
あんまり話すとメシの種がなくなるので、この辺にしときますか。筆者はデイトレでよく売買します。買うこともあれば空売りすることもあります。条件を満たしたらエントリーし、一定条件で返済します(利益でも損失でもルールを決める)。ちなみにこの銘柄は嫌いです!何度も痛い目に遭っているw
アメリカがシリアの空軍施設を巡航ミサイルで攻撃後の原油の動き
日本企業の石油埋蔵量
(広告)最小二乗法による実験データ解析―プログラムSALS (UP応用数学選書 7)