今日の東京市場は大幅続落でスタートして安値圏で推移しました。大引けは前週末比 494.43 円安の 37470.67 円でした。

上の 15 分足チャートは、yahoo! finance API が提供する日足の4本値データを python のライブラリ yfinance で取得、mplfinance でプロットしました。
今日のデイトレは…
準備中につき、信用取引をしておらず、自作アプリにまつわるプログラミング寄りの話題です。
昨年から、自作アプリでデイトレをしたい、そして可能であれば自動売買のアルゴリズムにチャレンジしたい、という目標のもとで自作アプリ開発に取り組んできました。昨年末からは楽天証券のマーケットスピード2 RSS を利用して Microsoft Excel と VBA でアプリを実装しようとあれこれ試してきました。
残念ながら VBA によるプログラミングの経験不足を簡単には挽回できず、複数銘柄の株価を毎秒収集するところまで作ったものの、可視化する機能の実装で行き詰まりました。この状況を打破するため、たとえシステムが冗長・複雑になっても、慣れている Python が利用できるメリットは大きいと判断し、先月から以下のような情報の流れで自作アプリを構築することにしました。
先週の課題は、株価のトレンドチャートを表示するのにどのライブラリを使うか、でした。
使いやすさとリソースの消費がトレードオフになるので、候補のライブラリで実装した作りかけのアプリを、金曜日のザラ場で通しで動かしてみました。
チャート作成に採用する PyQtGraph [1] というライブラリは扱い易く描画速度も高速なのですが、データを追加する毎に再描画するので、連続運用で時間が経てば、それだけ CPU への負担が増えます。古くて貧弱な CPU を搭載した Windows PC 上で運用しようとしているので、9:00 から 15:30 まで連続で動かしたときのリソース消費の増加がどの程度になるかを確認がしておく必要がありました。
週末は、PySide6 (Qt for Python)[2] および PyQtGraph のチャートなどの GUI を処理する部分と、xlwings [3] が Excel とやりとりをする部分を別スレッドに分離する作業に取り組んでいました。リアルタイムで利用するアプリでは、役割分担した複数処理を並列に動作させて現実的なリアルタイム性を確保しなければならない部分が出てきます。
そして、今日もザラ場を通しで作りかけのアプリの動作確認をしました。
15:25 を過ぎて、1 秒間隔のタイマーが停止、データが自動保存されるのを確認できたので、今後のデータ収集はこのアプリに任せられそうです。
今週は、右側の売買ボタンを使って、リアルタイムの売買シミュレーションができるところまで進める予定です。
参考サイト
- PyQtGraph - Scientific Graphics and GUI Library for Python
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- Python in Excel alternative: Open. Self-hosted. No limits.


0 件のコメント:
コメントを投稿