アルゴリズムトレードは、証券会社などがユーザーの板情報を参照しながら、直接的な利益が出る様な取引手法と私は定義しています。
例えば、大口の板の直前に注文を入れるような取引手法です。
それに対してシステムトレードはアルゴトレードとは違い、過去の個別株の株価データを基に、ロジックを考えて再現可能な取引をすることです。
過去の個別株の株価データを入手
このサイトでも販売をしていますが、過去の個別株の株価データを入手します。
auカブコム証券APIでPUSHデータを取得することで、かなり精度の高いデータを取得することができます。
※システム上間引きしているとの事なので完全データではありません。
各銘柄の1日のデータは、多い銘柄で100MB近くあり15万レコードを超える銘柄もあります。
営業日の9:00から始まり15:30で終わるので5.5時間です。
150,000÷5.5÷60÷60で秒間約7.5回という膨大なデータを入手できます。
ロジックを考察
板情報や出来高はもちろん、ティックの勢いである飛び方や、難平やピラミッティングなどのポジションやベットコントロール、四季報のスクレイピング参照や窓開攻略など、そのアイディアは無限にあると思います。
それらを実際に取引した場合のプログラムで計算式を作ります。
過去の個別株の株価データを順に読み込みシミュレーションをしますが、そのロジックの注文方法も成行注文から、指値や逆指値、逆成などがあります。
私も何度も経験をしていますが、例えば成行で買値と売値を逆に計算させてしまい計算上は馬鹿勝ちする結果もありましたし、指値が「刺されば」というロジックで実際には予定価格で刺さらない場合や、そもそも約定しない場合など・・・
このロジックでのシミュレーションで勝てたとしても概ね全体の50%程度の重要度です。
ロジックで勝てなければ、絶対に勝つことはありえないので、最初の難関でもあります。
取引プログラムを組む
ロジックが一緒でも、プログラマーによって結果が異なると感じています。
プログラムの知識があれば良いという訳でもありませんし、例えばロジックでは成行であっても、指値の方が成果が得られる場合もあります。
エラー処理を重んじるプログラマーの場合には、プログラムの挙動が遅くなるケースもあり、そもそもロジックの真意を読み取ることができなければ、因数分解された最適なコードを書くことは難しいと思います。
システムトレードの優位性でもありますが、auカブコム証券APIの仕様上、1つのアカウントで50銘柄までティックデータを監視して取引することができます。
その場合にも速度が遅くなる場合もありますし、ポジション管理が難しくなる場合もあるので、ある程度は株取引のルールを知らなければ、最適化されたコードを書くことが難しいと思います。
auカブコム証券APIはネット上の情報量が少なく、癖のあるAPI仕様と感じていますが、実態としては本番環境でテストをすることになるので、色々と大変です。
このセクションで概ね全体の20%程度の重要度があります。
ロジック考案者が外部のプログラマーに依頼すると、勝てているロジックであっても、それが伝わらずに実際には負けてしまう場合もあると思います。
実際の取引
ロジックとプログラムがある程度完成すると、今度は実際の取引をしますが、ここでも最初は思い通りに動きません。
それがロジックの計算ミスなのか、プログラムの最適化がされていないのか、パソコンや回線の取引環境に起因しているのか、取引方法の注文や決済方法に問題があるのか・・・
試行錯誤しながら最終判断をします。
これも本番環境で行いますので、それなりのコストが必要ですし、乗り越えるのも大変で全体の30%位の重要度があると思います。
実際の取引の理論値と実績値の乖離や、次の日にティックデータを基にロジックプログラムで検算して照合したり検証を重ねます。
資金効率計算
ようやく勝てるシステムが完成すると資金効率の最適化をします。
株はFXと違って板の概念がある為に、あまり大きな枚数を注文すると現物取引では結果が悪い方向に振れます。
期待値を日利や月利で算出しドローダウンやプロフィットファクターも計算して最適な資金管理をします。
100枚スタートの福利の場合は、資金が倍にならないと200枚で運用が出来ませんが、1,000枚スタートの場合の福利は資金が10%増えれば1,100枚で運用することができるので資金効率は全然違います。
メンテナンス
銘柄などの特性に依存することなく、普遍的なロジックであれば永遠に勝てると思いますが、株取引の場合はありえないと思います。
極端な話で、昨日まで勝てていたのに、今日から負けるなんてことは無いにしても、それでも銘柄に参加している他のトレーダーの動向によってチャートの顔は変化します。
日々検証しながらロジックに相性の良い銘柄を準備しておく必要があります。
確かに、こうして手順を書くと色々と大変なことも分かります。
ネット上でも情報が出回っていないことも仕方のないことかもしれません。
しかし、世界では既にシステムトレードは標準化されていると思います。
現在のIT産業のように黒船に支配される前に、日本人として世界と戦えるシステムトレードの文化を形成したいですね。