2022年1月27日木曜日

システムトレードのWebサイトを作ってみた。

おじさん、オミクロン株の流行で外へ出かけられないので、毎日家に引きこもりです。

家でやることがないので、システムトレードのシミュレーターを作ってみました。

前回Protra言語のインタープリタを作ったことをブログに書いたのですが、

こういうのをブログに書くと、「副業で儲ける方法」とか「株で1億円儲けられる」とか「仮想通貨で夢の生活」とか怪しいメールがたくさん来るようになってしまいました。

世の中ほんと人の欲に付け入る悪い人ばかりだなぁ。

そんな簡単にもうかるんだったらこんなツールつくらないっつーの。


システムトレードのソフトウェアって、スクリプト言語の実装、株価情報の取得更新、損益計算、グラフ表示、データ変換、Webサーバ構築、セキュリティー対策、クライアントUXページ作成、JavaScriptr作成、ソースコード公開などいろんなことをやらないといけないので、結構大変。毎日深夜まで、仕事以外の空き時間を1か月全力投入でやっとここまで完成。

これは会社とかグループで作るもので、ひとりで作るものじゃないな。


日本の株価のデータも1Gバイトくらいあり、結構でかい。

これを高速で処理しないとシミュレーション結果がすぐにでないので、C++で実装しないとだめ。

最初、年末年始の一週間くらいでできないかなぁと思っていたのですが、一か月くらいかかってしました。


やっと動くようになっただけでまだまだ機能が貧弱ですが、どうにかWebでシステムトレードのシミュレーションが動くところまでできた。

 http://one.agolamusic.com/htdocs_protra/main.html



こんな感じでグラフも表示できます。

ソースコードはこちら、

https://github.com/yomei-o/Protra_cpp


おじさん、いつもスマートフォンやタブレットでもきちんと動くようにWebサイトを作るので、このシステムを使えば通勤電車のなかとかいつでもどこでもトレードのシミュレーションを行うこともできます。

コアの計算部分以外のグラフ表示とかは全部クライアントのブラウザで処理をしているのですが、最近のスマホのブラウザって本当にすごいねぇ。なんでもできちゃうのね。


来週からは、lightGBMのディープラーニングエンジンを追加しようと思っていますが、

これも結構時間かかりそう。

外に出れない間の暇つぶしにはちょうどいいかなぁ。


2022年1月12日水曜日

Protra言語のインタープリタを実装してみた。

 おじさん、毎年年末年始は、なにかお金儲けでがきそうなライブラリを作ることにしています。

今年は何を作ろうか考えた結果、Protra言語のインタープリタを作ることにしました。

https://ja.osdn.net/projects/protra/wiki/FrontPage



ここに書かれているとおり、Protraとはシステムトレードをするソフトです。

コンピュータのプログラムが儲かりそうな株を分析してくれるのがシステムトレードソフト。そのプログラムの分析の通り株を買うと株で儲かるはず・・・・。

https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%88%E3%83%AC%E3%83%BC%E3%83%89

このシステムトレードをするソフトのなかでオープンソースのものがProtraなのです。

このProtoraを改造して、ディープライニングのLightGBMなどと連携させると、最新のシステムトレードソフトになるらしい。

https://ja.wikipedia.org/wiki/LightGBM


LightGBMのプログラムを書ける人がシステムトレードの上位にはいれるのか!

https://nehori.com/nikki/2021/11/27/post-33741/


これは、お金儲けできそう。

しかし、なぜかオリジナルのProtoraはC#で書かれているため、他のライブラリと連携できないため、おじさんのMacやPythonからも使えないのです。


なるほど、ここにProtraの問題点があるんですね。

これはなんとかしなければ。

ということで、まずはProtraインタープリタをC++で実装してみました。

https://github.com/yomei-o/Protra_cpp


年末年始に実装できたのはProtra言語のインタープリタ部分だけなのですが、とりあえずこれでProtra言語がLinuxやMacでも動くし、LightGBMとも連携させられそうだし、簡単にPythonからもProtoraを使うことができそうです。

あと株価系のビルトイン関数とPythonとのインタフェースを作れば、システムトレードのシミュレーションをすることができるはず。


今年中にある程度完成できればいいなぁ。

ソフトが完成したら誰かお金投資してくれないかなぁ。

そしたら以下のようなお金のむしり取り合いに参加できるんだけどなぁ。

https://nehori.com/nikki/2021/12/16/post-11240/