坂本タクマのシストレ原論

引っ越しと回線なし期間が重なってなおかつ出張などこなした都合でチェックを怠っていた。3回と4回をまとめて、ちょっと見てみる。

第3回

鉄板システムで10億目指す男の貧弱トレード環境 【マンガ】坂本タクマのシストレ原論(1/4):株/FX・投資と経済がよくわかるMONEYzine

CPUはAMD Athlon 1.2GHz
OSはWindows 2000

まあ、発注だけ考えれば十分だ。昔は電話でやってたわけだし。Windows 2000は必要十分なGUIと堅牢性があって、なおかつ必要なリソースは今の基準で考えれば極小で済む。4回でも書いてあるけど、基本的なところはLinuxでも十分なんだよなー。発注ツールの問題だけだ。
記事を読んで、私の今後の課題にしなきゃいけないなーと感じたのは場中の発注かな。本業の執務中はPCに向かって発注とかムリなので、寄り前に逆指値仕込んでおくぐらいしかできないけど、建余力の範囲内であれこれと仕込まないといけない。でも、全部に仕掛けるつもりはないので、一個約定したら残りのキャンセル操作をしないとイカンと。アホだ。やっぱ株価監視とメールアラートの仕組み作ってメールに発注指示をつけて返信したらサーバ側で発注指示にいくような仕組みが欲しい。これなら携帯とちょっとの手間でやれるから本業への影響はほぼ無いだろう。もちろん開発は「ちょっとの手間」じゃ済まないけど;;
一番の問題はプログラムから発注を出せるかどうかだけど、HTTP POSTリクエストで受け付けてもらえるならPerlで書ける。逆指値の機能が証券会社で実装される前から、株価の監視と発注をやるツールはみんなが作っていたし技術的には枯れている。テストは夜間か休日なら手動でキャンセルもできるし、やる気になればやれそうだ。
あとは実際のトレードの履歴を分析の対象にするのが必要だなー。バックテストの結果はサマリー作って残しているけど、実践の所はまだ分析には至っていない。ここをやるようになって初めてシステムトレーダーと言えるんだろうな。証券会社が約定履歴をCSVで吐いてくれれば取り込みは簡単にできそうだ。最悪HTMLでもTABLEを切り出せばやれるだろう。

んー、あとは本人の意識の問題だけど、自分の行動の分析がきちんとできるかどうか、か。大量にシグナルが出るシステムだと、どうしても恣意的にシグナルを選ぶ事になる。そこのところでバックテストの結果との乖離が生じるけど、それがどーなのか、自分がシステムの部品として有効に機能しているのかどうかを検証しないとダメだってことは頭ではわかるんだが・・・ まあ、やるしかない。

第4回

無料&自作プログラムで常勝ルールを見つけ出せ!【マンガ】坂本タクマのシストレ原論(1/4):株/FX・投資と経済がよくわかるMONEYzine

そんくらいRubyは書きやすいのだ

Rubyと聞くとなんか複雑な気持ちが湧き上がある・・・ やっぱり私にはRubyコンプレックスがあるんだなw ツールとの連携もRubyでやれてるみたいだし、いいなーと思う。だがしかし、Perlだっていい点はある。なにしろ枯れているし、そこそこ早い。だからコンプレックスなんて持つ必要はないんだ!>俺 だけどなー・・・

Rubyは実行速度が遅いのでシミュレーションには向かないとよく聞く
確かに遅い

ここの所は今後改善されていくんじゃないかな。YARVなんてのも開発中だし、IronRubyなんてのも出来てきている。もう少しRubyが枯れてきたらそっちに行くのもいいかもしれない。

実行時間よりもプログラムを書く時間が短いほうがありがたい

このあたりは実行時の効率よりも開発生産性を優先にしたほうがいいよ!という話だけど、これは検証の規模にもよると思う。去年の今頃からシステムの構築に手を付け始めたけど、最初は遅すぎて丸2日とかかかっていた。検証の規模を縮小するか効率を上げるかなんだけど、トライ&エラーでがしがし作り変えながら検証を進めていると、実行結果が出てくるまでが待ち時間になってしまう。こーゆー所を全銘柄のテストじゃなく、小さい規模でやって、ある程度目処が立ってから大きい規模で実行するとかすれば、多分効率がいいのかな。動作テスト用の規模と本格的な検証用の規模を分ければいいんだ。

でもって、坂本氏が使っている開発環境、というかエディタがMeadow。玄人だ。そこんところ、ウチはPerl+Eclipseなんでラクでいい。SubversionはウチではCVSだけど、なんというか、CVSの使い方がいまいちわかっていないという悲しい状況;; もっといろいろ弄くって遊べばいいんだろうけど、どーもいまいち突っ込んでやれない。うーむ。

あとtracは知らなかった。多分バグトラックの為のツールだ。
Trac - Wikipedia
これ、会社で使ってみようかな。チームで見る資料はExcelで、個人的に使いやすいようにOutlookのToDoで管理とかしてるのがバカバカしい。セキュリティ対策でソフトウェアの持込に制限があるけど、まあちょっとお願いしてみようか。まずは自宅でどんなもんか試そう。

もうLinuxでいいじゃん!

って話なんだけどLinux対応の発注ツールって知らないしね

ここは証券会社が自分の情報・発注ツールを安定稼動させるために、自分の所のツールをくっつけたディストロ作って実費で配ればいいんじゃないかな(他力本願)。LiveCDで起動するようにしとけばいつでも使えるし安定もする。もちろんパーティション切ってハードディスクに入れてもいいし。Windowsの更改で使えなくなったりしないし*1。いい事いっぱいあると思う。

あと検証結果の分析はエクセルでやってるけど
これはそのうちフリーのデータベースPostgreSQL
フリーの統計ソフトRでやりたい

やっぱRだよなあ・・・ だがしかし、自分はまだRに時間を突っ込む時期じゃないと思う。ソレより前にCVSもっと分かるべきだし、バックテストの分析が「今のままじゃできない!」という所まで突っ込むべきだ。でもまあ、将来的にはやっぱりRを触ってみたい。まあ、時間が出来たらまた考えよう。

なんか、3回と4回はシステムのコンピュータ寄りの技術の話だったなー。勉強になった。単純に「やっぱそうだよね」と思う部分と、やる気になってやってるアマチュアプログラマ*2の方がそこらの職業プログラマよりよほど技術力があるという事が再確認できた。のほほんとしていたら、いずれアマチュアに殺される。そーゆー危機感をもっと今時の人は持った方がいいと思う。「おまえら今この場所にいるってだけで、既得権益でメシ食ってるんだぞ!」と思うんだけど、あんまりこの感覚、分かってもらえないんだよな。

*1:E*TRADEのHETはVista対応まだだったんじゃない?

*2:本業としてそれで生計を立てていない、という意味で