ヘッジファンド向けのトレードシステム開発はここが面白い!
はじめましてNobuです。
今回はオークンで私が携わっているヘッジファンド向けのトレードシステム開発についてご紹介させていただきます!2020年の7月に入社してから約半年間、このプロジェクトに携わらせて頂きました。
まず簡単な自己紹介をさせていただきます。
1993年生まれ。
大学院を卒業後、大阪の大手電機メーカーに機械エンジニアとして入社。
入社から2年半後、より多くのものづくりをしたいという思いから、思い切ってソフトウェアエンジニアへの転身を決意。
別会社でシステム開発の経験を積んだ後、2020年7月にオークン入社。
本記事では、
1. プロジェクトの概要
2. 具体的な業務内容
3. プロジェクトの面白さ
についてご紹介したいと思います。
1. プロジェクトの概要
オークンで取り組んでいるトレードシステムは、初の自社開発システムで、株や為替等の金融商品を対象とした、自動取引システムです。
既存の自動取引システムは過去のビッグデータに対して機械学習による解析をするものが多いですが、過去データの解析をベースとしたシステムでは、実際のトレードが過去データと挙動が違った際にその原因を説明できません。
私たちのシステムは人間の行動心理に基づいた普遍的なトレードロジックにより売買を行います。
オークンにはプロのトレーダーが在籍しており、彼は実際にそのロジックでトレードを続けてきています。
ロジックが普遍的であるため、過去のデータとは全く関係なくトレードすることができ、更には、株であれば日本株、米国株等、マーケットを問わずトレードできたりと応用が効くのです。
2. 具体的な業務内容
私はトレードシステムのバックエンド開発を担当しており、主な業務は以下です。
トレードロジックをシステムに落とし込む
トレーダーが考案したロジックを元に、私たちエンジニアが設計しコーディングしていきます。
ただし、そのためには以下が求められます。
- 複雑なロジックを原理原則から正しく理解すること
- ミスがないよう、シンプル且つ丁寧にコーディングすること
- 金融知識を学び、あらゆる疑問を徹底的に追求すること
これらは大変ですが実際にトレード機能ができた際の喜びは大きいです。
私は元々ものづくりが好きだったので、形が出来上がる瞬間は、やはり楽しいですね。
実装したシステムを扱い、売買シミュレーションを行う
売買ロジックをシステムに落とし込んだ後は、実際に株価データを使って売買シミュレーションを行います。
時には過去30年分の株価データを使ってシミュレーションすることもあり、
高性能なPC (MacBook pro, メモリ32GB) でも計算に2,3日かかったりもします。
処理が早くなるよう計算の工夫、コーディングの工夫が必須です。
また、シミュレーション結果が現れたら、その結果が妥当かどうかを様々なトレード指標をもって分析していきます。
シミュレーション結果が妥当でさらに良いリターン(利益)と分かると非常に嬉しいですね!
3. プロジェクトの面白さ
ここからはプロジェクトに参画して半年たった私が思う、
本プロジェクトの面白さを紹介していきます!
学ぶこと、考えること
このプロジェクトは学ぶことが本当に多いです。
- Pythonの知識(金融系、数値計算系のライブラリ)
- トレードの知識(トレードロジックの原理、専門用語、金融市場)
- トレードシステムの知識(各シミュレーション方法)
次から次へと新しいことが現れて、学ぶのが大変ですが、1つ1つ知識が身についていくのが楽しいです。
そして考えなくてはならないことも非常に多いです。
- トレードの分析(なぜ上手くいっているのか。よりよくするためには何が必要か)
- トレードロジックの背景
- コーディングの工夫(複雑なロジックをいかにシンプルに表現するか、いかに計算を早くするか)
日によってはコーディングするよりも考える時間のほうが多かったりもします。
入社間もない頃は全く未知の分野で覚えることに必死で、考える余裕もなかったのですが、知識がついた今は考えを巡らせられるようになりました。
1つ1つ丁寧に考えていけば、必ず正解に辿り着くことができます。この瞬間がたまらなく楽しいです。
工夫できること
オークンでは「楽しく働く」ために各人が裁量をもつことを認めています。
裁量があるため、色々と工夫することができます。
工夫して結果が現れると、仕事って楽しく感じますよね。
実際に、主要な売買ロジックの1つについて、入社したての私に設計から実装まで任せて頂け、その中で以下のような工夫を試み、実現することができました。
- より計算を早くするための工夫
- よりわかりやすいコードを書くための工夫
- よりトレードのパフォーマンスを上げるための工夫
裁量があるということは当然責任もありますので、プレッシャーもありますが、実際に自分が施した工夫が実現した際は嬉しいですし、自分の成長も実感でき、非常にやりがいを感じます。
これからも楽しみながら開発に取り組んでいきたいと思います!
トレードシステムはまだまだ開発途中で、実現したい機能が多く残っています。オークンでは、トレードシステム開発のエンジニアを募集しています。