7/8 反省、改良案
出現した問題点、改良案
①低い乖離率の銘柄でも投資してしまう。
例えばindexから乖離率0.1 %の銘柄でも既存のシステムだとショートに掛けてしまう。乖離率0.1%というのは非常に中立に近く、推測通り下方に下がるのとほぼ同じ確率で逆方向に進む確率がある。よって、フィルターをかけた。4年分のデータの乖離率を調べたところ標準偏差σは4 %だった。よって、約60 %の確率で乖離率は± 4 %の範囲に収まる。この戦略では± 4 %に収まる乖離は無視をし、それ以上の乖離を持つ場合のみ投資を行うこととする。
ただ、既存のシステムでも乖離率が小さければ投資比率は低くなることになっているのでこの改良はただ執行される売買を増やすだけかもしれない。
②まだまだリスクが大きい。
日々の損益の幅が大きい。日によっては2万ほど利益を上げ、次の日に含み損5万になっていることがある。アービトラージとはそんな損益の動きをする戦略ではないはずだ。
改良案としては、セクターを増やす事を考えている。
食品セクター内部でこれ以上増やすのはあまり良い考えとは言えない。相関係数の非常に高い組み合わせがそんなに大きくあるとは考えられない。
ただし、食品セクター内部だけでも大きな損益変化する戦略ではないため、これは考える前提がどこか間違っている可能性がある。事実、木曜日にはロングしていた銘柄が2つとも下がり、ショートしていた銘柄が上がるという完全にロング・ショートを破壊しに来ている値動きをしていた。全ての銘柄において乖離率が上昇する動きがこれからも起きるようなら戦略、または計算過程を考え直す必要がある。
セクターを増やすなら食品と相関の低いところ、半導体とかどうだろう。
③注文がテキトーすぎる
今、注文は全て成り行きで行っている。しかも午前と午後の間に。
せめて場中に行うべきなんだろうか?これは知識がゼロなのでなんとも言えない。
④損切りが存在しない
乖離率が3σ、12 %を超えたときはポジションを閉じる?これは要検討、なぜならこういう市場の行き過ぎをチャンスとするのがアービトラージだと考えているため。ただ市場の行き過ぎに踏んづけられて木っ端微塵にされてきたのもアービトラージ。
⑤バックテストがしたい
これは問題というより願望だが、過去のデータを使って収益の予想ができればシステムの改良がもっと効率よくなるし、そこからアイディアも生まれる、気がする。
①、④で書いたフィルター、ストップはもうつけたので来週初めまでにセクターを一つ増やし、来週末までにバックテスト手法を学び、導入する。
はー研究やめてこれずっといじってたいーー。
7/8 結果、おさらい(反省と改良は次回)
食品銘柄を用いたロング・ショート戦略を始めて一週間が経ったのでざっと反省してみようと思います。
トレダビで1000万円から始めたデモ口座の現状を確認します。
総資産額:10,014,205円 (+14,205円)
評価損益:- 3,143円
実際株で持ってるのは700万円分くらいだったので、収益率は0.2 %、評価損益入れたら0.15 %ですね。単純計算で月0.8 or 0.6 %、年率 9.6 or 6.6 %になります。少し高過ぎる気がします。コンセプトとして稚拙でかつ裁定狙いなのでこれが続くとは思えません。気を引き締めます。
現状がわかったところで今までのおさらいを簡単にします。何を持って判断し、どう1週間持分を調整してきたのか。
⓪戦略
興味があったので「ロング・ショート戦略」を用いることにしました。これは「買い(ロング)」と「売り(ショート)」を組み合わせることで相場全体の動きと損益を切り離す戦略です。そしてその上で同じセクターの銘柄がノイズを持ちながらもだいたい同じ動きをする事を利用して儲ける手法です。詳しくは前の記事か後述を参考にしてください。
①銘柄の選択
同じセクターの同じ値動きをする銘柄を複数抽出します。私はなんとなく値動きぬるそうだから食品を選び、総資産規模の2~6位を抜き出しました。この時はできるだけ大手を選んだ方がいいと思います。小型は値動きが激しく、かつ流動性リスクが高いため。銘柄数が多くなるとかかる資金も増え、計算の項も縛りも増えるので注意してください。
期間は2年(週次)としました。年をまたいだ動きを見たかったのと、あまり長いと投資対象期間も長くなる気がしたので適当に2年としました。
上の図が選び出した5銘柄と5銘柄の単純平均の推移です。このindexと題した平均と、それぞれ5銘柄の相関係数をそれぞれ調べます。相関係数とは、どれだけ似た動きをするか調べるための物差しで1~-1の数字で表現されます。1に近いほど同じ動きをすると期待されます。アサヒだけ相関係数が0.6程になり、他は0.8以上だったのでアサヒだけ除外しました。
②値動きを合わせる
さて、相関係数の高い4銘柄が出てきました。次にこれら4銘柄の「値動きの激しさ」を合わせます。2年間の値動きの標準偏差をそれぞれ算出しました。これは対象の銘柄がどれだけの値幅を持っているか示す指標です。そして、それぞれの株価(値動き全体)を標準偏差で割ります。これによって、値動きの激しさが等しい銘柄4つが出現します。
これで値動きの激しい4銘柄が出てきました。これらを使用していきます。
このシステムにおける注文単位は 株価/標準偏差 としています。計算上はこれが基本単位になるので、実際の注文で100株単位にするのに少なからず手間取る事となります。
③高さを合わせる
出現した4銘柄の値動きの平均をそれぞれ取り、一致させます。
これによって先のグラフではバラバラな4個の線がだいたい重なりました。重なるように縦に平行移動させたので当然ですが。このグラフではサントリーの平均を基準にとって例えば明治では全ての値に対して
(新値)=(旧値)- (明治平均値) + (サントリー平均値)
の操作を行い合わせました。
この4つの値動きは
「だいたい同じ動きをする」かつ「同じ動きの幅をもつ」かつ「動きの中心点が等しい」ので、これから先も絡まりあいながら同じ動きをしていくと予想されます。
これから先も絡まりあうと考えられるので上の方にある線はこれから下の方に向かい、下の方にある線はこれ以上下がらず上の方に伸びていく可能性が高いと考えられます。見やすくするために入れたのが単純平均(index)です。ざっくり言うと、これら4銘柄はindexに回帰する可能性が高いです。よって、indexより上を売って、下にあるのを買えば儲かる、ということです。
大事なのはそれぞれの銘柄がindexに対してどれだけ高いのか、安いのかです。高ければ高いほど戻ってくる確率が高い(と私は考えている)。それを表すのが乖離率です。計算式は、
(乖離率) = { (対象銘柄の値) - index} / index
となります。値とindexはきちんと標準偏差で割り、高さを合わせたものを使用しましょう。
④投資比率決定
最後に投資比率を考えましょう。条件は2つです。
①ロング銘柄とショート銘柄の総投資比率は(標準化された単位において)等しい
②乖離率が大きい銘柄ほど大きい利益が見込まれるので、投資比率を大きくする。
ロング銘柄を例にとると(サントリーと味の素がロング銘柄とします。)
(サントリー投資比率) = (サントリー乖離率) / (サントリー乖離率 + 味の素乖離率)
を計算すれば、全ロング銘柄のうちどれだけサントリーに投資すれば良いのかわかるはずです。
⑤持ち分調整
さて、ここまで分析頑張ればあとはシステムに従って売買するだけです。
きちんとエクセルに式を入れられれば、現在の値段を入力すれば、標準偏差による割り算、平均合わせ、乖離率計算、投資比率決定まで自動でやってくれるようできるはずです。あとはだいたい100株単位で売買が入れられるように売買高を調整するだけです。
私は毎日昼休み(12:00ちょうど頃)の間に弁当食べながら株価をエクセルに入れて、最適な投資配分となるように持ち分を調整する売買を成行で出していました。調整だけなら5分ほどで終了します。昼にするのは朝と夜は引けと寄り付きの間が大きいと感じたためです。研究室の都合上板には貼り付けないし、設定した値段と売買値があまり違うとシステムが意味を持たないので。
なんか思ったより長くなったので反省と改良の話は次回行います。
行動をまとめて一つに記録したいと思ったので今回は今までと被った話が多かったかもしれません。すいません。
食品銘柄ロングショート(4銘柄)
前回作った2年分の週次データを用いたシステム通りに発注してみました。(忙しめだったので午後6時くらいになてしまいましたが、、、)
250日分の日次データで分析もしてみたんですが、相関係数が大きく落ちてと2銘柄ほどまた除外しなければいけなくなったので、週次データ2年分で行います。
(短期になると個別のノイズが強くなるのかもしれません。)
最新の終値(7/4日分)をエクセルに入れて、標準化、y軸平均値合わせ、乖離率の計算をさせて、最終的に投資比率を求めさせます。ただし、標準偏差で標準化してるので、株数比率まで戻すのに手間取りました。
ちょちょっといじって株価さえ入れれば何株ロングするのかショートするのか求めてくれるよう計算式を入れました。エクセル面白すごい。
一つ危ぶまれるのが、100株単位でしか売買が行えない点。
ロング・ショートは細かく稼ぐ戦略ですので、細かく持ち分を調整し、正しい投資比率を守る事が非常に重要です。これによって相場の動きから解放され、回帰によって利益が生じます。しかし、現実では100株単位でしか売買ができないため、投資比率を細かく守るためには膨大な量の株を買わねばならなくなります。(例えばキリン4万株ロング、明治7300株ショートなど)
デモから抜け出すには大量の資金を用意するか、銘柄数を少なく抑え、かつ株価の低い銘柄を用いて行うべきでしょう。しかし、株価の低い小型株などは個別性が強くなる気がするので、ジレンマですね。
理想的な注文は
ショート:明治 100株、キリン 1686株
ロング:サントリー 534株、味の素 446株
現実では
ショート:明治 100株、キリン 1700株
ロング:サントリー 500株、味の素 500株
来週、再来週あたり月曜あたり反省してみましょうかね。
それまではポートフォリオいじらずに勉強してみようかなと思います。
のつもりだったんですが、この乖離率の動きが結構早いみたいなので、毎日昼に少しづつシステムに従って調整していこうと思います。(昼に成り行き出すだけなら10分ぐらいで終わるので結構楽)
改良①続き
今回は2銘柄ではなく倍の4銘柄を用いたロング・ショート戦略について書こうと思います。労力をかければ任意の銘柄数を用いた方法に拡張できます。
使用するのは前回食品銘柄を考察するにあたって出てきた5銘柄から相関係数の低かったアサヒを除いた4銘柄を用います。データは2年分の週次データの調整後終値を用いています。
この4銘柄に2つの操作を行います。まず、それぞれの標準偏差で割ることにより標準化(今の所これを標準化と呼んでいます)します。この操作によりロング銘柄数とショート銘柄数を合わせさえすれば相場の動きと損益を切り離すことができます(戦略の想定上)。次にできた4本の値動きの平均をそれぞれ取り、それらを一致させるように4本の値動きに加減算を行います。これによって過去の流れに対して現状はどの銘柄が割高なのか一目瞭然になります。
ちょっと混み合ってしまいました。indexと書かれているのは4社の単純平均の推移です。加減算でy軸の平均値を一致させているので戦略では全ての銘柄はindexに回帰する事になっています。それぞれindexとの乖離率(正ならばindexより高い、負ならば低い事を表す)を調べます。
上述の通り、全ての値動きはindex(乖離率グラフでは0値)に就職する事になっているので、最新のデータでindexより上にある物をショート、下にあるのをロングすれば少しづつ儲かるはずです。
これを元に考えると直近ではサントリーと味の素をロング、キリンと明治をショートすれば良い事になります。
2~3週間に一度配分を調整していけば良さそうですね、見た感じ。
最後に投資比率を考えましょう。条件は2つ。
①ロング銘柄とショート銘柄の総投資比率は等しい
②乖離率が大きい銘柄ほど大きい利益が見込まれるので、投資比率を大きくする。
ロング銘柄を例にとると
サントリー投資比率 = サントリー乖離率 / (サントリー乖離率 + 味の素乖離率)
を計算すれば、全ロング銘柄のうちどれだけサントリーに投資すれば良いのかわかるはずです。
週明けはこれを元に(日次データも考えてみて)持ち分を調整します。この戦略をもとに細かく稼いでいくには投資比率を正しく調整するのが非常に重要なので大きな資金が必要になりそうです。
改良①ペアの条件
一般的にロング・ショート戦略に用いるペアの選定は以下のようにして行われます(らしいです)。
市場の選定 → 業界選定 → 時価総額、出来高、売買代金、株価を用いたスクリーニング
これで似たような値動きをする銘柄集合が抽出されます。
次に割安、割高銘柄をPERやPBRなどの指標を元に銘柄集合をロング銘柄集合、ショート銘柄集合の2つに分けます。
最後に相関係数やβ値を元にロング集合、ショート集合から一つずつ抜き出してペアを作成していくようです。
でも、本当にこんな手続きいるのでしょうか?
最終的なペアの要件は「同じ刺激」に対して「同じような動き」をする、これだけです。
よって思うに必要なのは「十分な流動性」、「正の相関関係」これだけなんじゃないでしょうか?後の全部はこれに至る道中にあるおまけのようなものじゃないでしょうか?
ではまあアサヒとキリンを含めた食品大手銘柄5社長期の相関関係見てみますか。2年分の週次データを取ってきました。どうやらPythonを使って一気に読み込ませる方法があるようですので今度勉強したいです。
5社単純平均を取り、それぞれ個別銘柄との相関係数を計算してみたところ、アサヒだけ非常に低い値(0.63程度)を取りました。他銘柄は0.85以上の値を撮ったのですが。一応同じような規模の会社を持ってきたんですが興味深いですね。時間があるときに調べてみます。
相関係数が低いということはロング・ショートに適さないということでしょう。アサヒを除いた大手4銘柄を用いた新たなポートフォリオを次回から作っていこうと思います。
ロング・ショート試作品改善点
前回作った試作品には多くの疑問というか改善点がありますね。今回はそれを列挙してみます。
①アサヒとキリンはペアとしての要件を満たしているのか。
まず要件が不明確です。考えられるのは規模、日々の取引高、売上、利益率とかですかね。
②標準化の基準は標準偏差でいいのか。
市場からの引っ張られ具合にはβ(インデックスとの相関係数的な)という値がよく使われるようで、標準偏差よりもこちらの方が適任かもしれません。でもβ値って賭け金の大きさで変わるから違くないかとも思います。どうしましょうね
③250日分のデータでいいのか。
これはおそらくどんなタイムスケールで取引するのかにもよるでしょう。ですが250日分というのは明らかに季節効果を取り除けてません。ビールは夏売れるので今の時期株価は上がりそうですね。理想的には長期(10年スパン?)と短期(250日?)を組み合わせて現状把握とタイミング決定を考えていくべきでしょう。
長期の時系列データってどこで取れるんだろう?
④乖離率上昇の原因
前回の記事では乖離率が高い=チャンスと単純に結びつけましたが、そもそもなぜ増加したのでしょう?どちらかの企業ファンダメンタルの変化による恒久的な増加なのか?それとも英国離脱によるパニックが原因の一時的なものなのか?この原因は「乖離率が元の水準に戻る」見込みがあるのか左右するので考えなくてはなりませんね。ここが一番決定的だと思います。
⑤リスクとリターンの予測
チャンスがある、買う!だけじゃダメですよね。きちんと儲けと危険性の評価をしましょう。うまくいった場合のリターン予測はある程度できる気がするんですがリスクはどうしましょうね、、、
ロング・ショート戦略の手順(素人)
今回は具体的な手順について考えていきます。
①銘柄選択
似たような値動きをする(と思う)銘柄を見つけましょう。同じ業界内で資産規模や取引額が近い2銘柄をもちいます。よくわからないので今回はビールで有名なアサヒとキリンでいいでしょう。
ボラティリティ(動きの激しさ)を元に標準化
株価の変動はほぼ全て相場に引っ張られて起こると仮定すると、標準偏差はその引っ張られ方を示す事となります。相場による引っ張られ方を合わせるように取引単位を考えます。例えば相場全体の値が1単位上昇した時、アサヒは2単位、キリンは0.5単位それぞれ上昇する性質を持つとします。ロング・ショート戦略では相場全体の変動から影響をなくすのが大きな特徴であるため、この場合はアサヒ1単位のロングに対してキリンは4単位のショートが必要となります。こうすることで相場が1単位動いた際、アサヒとキリンの値動きが相殺しあって2×1+0.5×(-4)=0、全体としては値動きが0となります。
今回は2016年6月30日に至る250日間の値動き標準偏差を計算し、それを用いて値を割りました。日足終値を利用しています。
それぞれの標準偏差はアサヒ254.2、キリン108.0となりました。
これが最終的に欲しかった図です。昨年に比べて乖離率が大きく上昇していてロング・ショートにうってつけですね。
2つの標準化された値の乖離率の変化を調べました。
最近になって大きく上昇しているのがわかりますね。市場全体のボラティリティの変化など要因があるのでしょうが今は何も考えません。ただのチャンスと捉えます。
ちなみに250日間の乖離率の平均は7%、標準偏差は1.7%です。乖離率が先に求めた値を元とした正規分布に従うとすれば直近の乖離率20.4%は7σ、存在確率は1.97×10-10%と非常に低い状態だとわかります。
(どうやら正規分布に従うと考えるのはあまりに楽観的でベキ乗分布に従うようです。)
250日分の株価分析からはアサヒ 1 / 254.2円のロングあたりキリン 1 / 108円のショートは儲かると考えられますね。
デモ口座でキリンHD 500株(1747.5)の空売り、アサヒ 100株(3333)の買いをしました。カッコ内は平均約低価格を表しています。
これからいろいろ学びながら補正をかけていきます。暖かく見守りください。