オリジナルプログラムの作り方

自分で考えた自動売買を設計するためには手順があります。

売買ルールを決めよう

まずは自分が作りたいシステムの売買ルールを整理しましょう。箇条書きで構わないの思いつくまま書き出してみましょう。設計ではこれを要件定義とよびます。ゴールをはっきりさせることが目的です。

例題 決済タイミングに別のテクニカルをつかう

たとえば、RSIでエントリーしたあとの決済判断にはボリンジャーバンドを使うとしましょう。

箇条書きでいいのでルールを書き出します。

例えばこんな感じです。

  • RSIが75以上で売り
  • RSIが25以下で買い
  • 買いポジションがあるときにボリンジャーバンドの+2σを超えたら決済
  • 売りポジションがあるときにボリンジャーバンドの-2σを下回ったら決済

状態遷移について

自動売買のようなシステムの設計でよく使われるのが状態遷移表、状態遷移図を使った設計です。
状態を定義することで、条件判定が単純になります。

状態を抽出してみよう

売買の状態を抽出してみましょう。ポイントは注文中(約定待ちの状態)を作ることです。
これで一つのエントリータイミングで複数回発注してしまうことを防げます。

  • 初期状態
  • 買い注文中
  • 買いポジションあり
  • 売り注文中
  • 売りポジションあり
  • 買いポジション決済中
  • 売りポジション決済中

イベントを抽出してみよう

イベントは状態が遷移するきっかけとなるトリガーです。今回の場合ならボリンジャーバンドと交差した時などです。

  • 約定
  • 売りシグナル(RSI >= 75)
  • 買いシグナル(RSI <= 25)
  • 買いポジ決済シグナル(ボリンジャーバンド+2σ超え)
  • 売りポジ決済シグナル(ボリンジャーバンド-2σ超え)
  • ポジション消失(プログラム外での手動決済やロスカットなど)
  • 約定せず

状態遷移表を作成しよう

状態遷移表は状態とイベントを表にして、次の状態を書き込んだ表です。言葉だと難しいですね。論より証拠。例題の場合は以下のような表になります。

初期状態 買い注文中 買いポジあり 売り注文中 売りポジあり 買いポジ決済中 売りポジ決済中
約定 買いポジあり 売りポジあり 初期状態 初期状態
売りシグナル

売り注文を発行

→売り注文中

買いシグナル

買い注文を発行

→買い注文中

買いポジ決済 決済→買いポジ決済中
売りポジ決済 決済→売りポジ決済中

ポジション消失

初期状態 初期状態 初期状態 初期状態
約定せず 初期状態 初期状態 買いポジあり 売りポジあり

-は無視(何もしない)です。状態を列、イベントを行に割り当て、各状態でイベントが来たときの動作と次の状態を書き込んだのが上の表です。

状態遷移図を作成しよう

状態遷移図は状態遷移表を図示したものです。

状態遷移表からプログラムを作ろう

ここまでで、設計は完成しました。ここからは実際に動くプログラムを作成しましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

The maximum upload file size: 20 MB. You can upload: image, audio, video, document, spreadsheet, interactive, archive, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here