やっぱりアルゴリズムは大事やわぁ(∩ˊ꒳ˋ∩)・* | ウツと株とプログラミング

ウツと株とプログラミング

うつ病で引退して、株トレーダーに。銘柄選定プログラムから始めて、現在は自動売買(アルゴリズム取引)システムを開発中(*'▽')/

日株のアルゴリズム取引をしようと思って、人工知能もどきのシステムを構築中です。


このシステムには大きく3つの機能を持たせる予定です。

  • 【Erabu君】上場している約3800銘柄の全てについて、毎日大引け後に情報を収集して、翌営業日のスイングトレードやデイトレードに向いている銘柄を選んでくれます。
  • 【Furikaeri君】Erabu君が選定したデイトレード向け約300銘柄のそれぞれについて約60通りの取引パターンをシミュレートして、利益額が最大になる銘柄と取引パターンを振り返り、その結果を機械学習します。
  • 【Minoriちゃん】Furikaeri君が学習した結果に基づいて、翌営業日に高速で株売買(システムトレード)します。

Erabu君はほぼ完成しています。というか、元々は僕のスイングトレード用に昔創ったプログラムなので安定的に稼働していて、そこにデイトレード用の機能を付加した感じ。


Furikaeri君は現在制作中。システムトレードの効果(利益額)を最大化するための頭脳になります。シミュレーション機能と機械学習機能を併せ持ち、陳腐化せずにどんどん強くなっていくことを想定しています。


MinoriちゃんはFurikaeri君の後に制作予定です。行動選択はFurikaeri君からの指示に従うだけなので、Furikaeri君用のモジュール(部品)の多くを共用する予定です。なので新規開発は主に証券会社のAPI口座との接続(インターフェイス)部分になります。


でね、Furikaeri君がほぼ出来あがりました。昨日までは処理速度に問題があって、1日分のシミュレーションに4日以上掛かる「(実質的に)使えない」代物だったのです。おまけに「儲からへん(´・ω・`)」。


それで昨夕にアマプラで映画を観ながら色々と考えたのですよ。シミュレーションのパターン数を厳選(減ら)し、PC内のメモリを最大限に活用し(ファイルアクセスを極力減らす)、無駄なロジック部分をスキップさせました。そしたら101時間強掛かるはずの処理を2時間弱まで圧縮できました(*'▽')/。


いやぁ~、やっぱりアルゴリズム(処理手順)は大事やわぁ~(о´∀`о)


最近はノートPCでも高速大容量のものが買えるようになって、ややもするとハードウェアに頼る時代になったけど、アルゴリズムの変更だけで50倍速ですよ。これなら使える(*ˊ˘ˋ*)。♪:*°


でね、277銘柄のそれぞれに57パターンの手法を適用して(15,789通り)最善手を探しました。そしたらね、軍資金40万円で一日に10万円以上稼げるものが見つかりました。


やったー(*'▽')/


一時は心が折れそうになったけど、9銘柄のサンプルデータでは見つけらない「お宝銘柄」ってあるんですね。


まだFurikaeri君はプロトタイプ(原型・試作機)の段階で、これから更にデバッグ作業が必要です。シミュレーション内容を目検するためにExcelに出力するツールも作ったんですけどね、機械学習してDBに格納する損益額とExcelに表示される損益額がビミョーに(500円くらい)ズレることがあります。


500円と言えばトレードしている人間ならば誤差の範囲内なんですけど、機械処理した計算が合わないのって物凄く怖いです。たぶん初期化や数字の丸め込みに問題があります。


10万円以上稼いだシミュレーション内容をExcelと1分足チャートで目検していて、変なことに気付きました。Erabu君の出力を見ると「S高接触」のサインが点灯しているのに、Furikaeri君はそのS高価格で買い増ししています。デイトレにとってS高で買うのはナンセンスですね(^_^;)。


まだ少しバグ潰しが必要です。


でも夕方から僕のウツが酷くなって来たので、今日はもう寝ます。