金融工学を学んでいる途中なんですけど、ぼちぼち平行してシステムトレードの研究をしてみたいと思います。映像とは全く関係ないっすねぇ :) もうそろそろブログのタイトルを違うものにしたほうがいいかもしれないです。
というわけでシステムトレードの研究です。この記事は正直研究日誌的なもので、実際に運用している人にとっては全く役立たないっす。数ヵ月後自分がこの記事を見て「うわぁこれはねーよ」って言って赤面するために書いてます。あんま気にしないでください。
うっし。それじゃあ書いていくか。
システムトレードとは
投資法の一種で、一般にはプログラミングによって金融商品の分析、売買を全てコンピュータに委託させる手法のことを指している。広義では一定のルールを予め決め、そのルールに従って売買を繰り返す手法もシステムトレードと言うので、必ずしもコンピュータで完全に自動売買させることを指すわけではない。
システムトレードの利点
- 過去のデータを用いてシステムの検証ができる。過去のあらゆる時点でテストを行うことによって、その構築したシステムのパフォーマンスや欠点が判明し、よりよいシステムを構築することができる。
- 感情を廃して取引を行えるため、きちんとしたプログラムを組めば人間よりも合理的な判断を行える。
ex.人間は「損を極端に嫌う」という傾向がある。そのため一旦損をしてしまうと、その補填をしようと何回もリスクのある取引を行ってしまい、深みにはまってしまう(ざわ・・・ざわ・・・)とか。
システムトレードの欠点
- 過去に無い相場に遭遇した場合、損失を出すリスクが高くなる。
- 過度にパラメータを最適化してしまうと、未知の事象に対処しきれなくなってしまうため、むしろ損失してしまう場合がある。
欠点を克服するにはどうすればいい?
- 十分に長い期間(5年以上くらい)バックテストを行うことで、システムのパフォーマンスや欠点を分析する。
- パラメータが現時点において適切であるような「合理的」なパラメータになるよう学習させる。
雑感
- システムトレードで検索すると胡散臭いサイトばっかり出てくるのはなんで?プログラムで自分は何もしなくて良いという所が受けるんだろうか。
- システムトレードでExcelを使っている人が多いけど、個人的にはそんなにExcel VBA使いたがるのか理解できない。
- という自分はC#信者。
- なんで金融系ってオープンソースコミュニティが成熟していないんだろう。あんまそういう閉鎖的な部分ってよくないと思うんすけどねぇ
次に実際に自分がプログラムしたシステムトレードについて書いていきます。
0 件のコメント:
コメントを投稿