朝は早起きでいつも 4 時過ぎには米国市場の動きを眺めながら材料になりそうなニュースを探しています。
今朝の米国市場は連休明けで DOW / NASDAQ / S&P 500 の 3 指数が揃って上昇、日経先物も 38,300 円を越えていたので、今日の東京市場はどこまで上がるか楽しみにしていました。期待通り、今日の日経平均株価は 38,000 円を越えて強く始まりました。しかし、買いは長く続かず、徐々に値を下げて大引けは前日より 1.71 円安い 37722.40 円で引けました。

上の 15 分足チャートは、yahoo! finance API が提供する日足の4本値データを python のライブラリ yfinance で取得、mplfinance でプロットしました。
今日のデイトレは…
デイトレは準備中なので、今日も実際の信用取引はしていません。
開発中のデイトレ用アプリ(目標は自動売買です)は、GUI のデザインが固まり、Parabolic SAR のトレンドシグナルも実装できたので、今日は寄り付きからアプリ画面を眺めていました。
すると、寄り付き直後の値動きが縦軸と重なっていてよく判りません。改善の余地ありです。
縦軸と最初のデータ点との間に隙間を少し欲しいので、Google Gemini に相談をしました。最近、簡単なサンプル・コードの作成を Gemini にお願いするなど、すっかりお気に入りのアシスタントになっています。
Gemini と議論を重ねたところ、軸と開始点との間に単純に隙間を入れるのは、現行のライブラリである PySide6 (Qt for Python) の QChart では難しく、結論として、GUI に使用している PySide6 と親和性がある PyQtGraph というライブラリでチャートの部分を作り直すことにしました。
アプリのコアな部分の作り直しになってしまいますが、チャートの余白をはじめ、細かな調整ができることは長く使うためには必須だと思ったので、ここは妥協せずに手間をかけることにしました。
証券会社のツールでは前日のチャートから継続しているので、このような問題は起きないのですが、自作するアプリでは、前日のデータに引きずられたテクニカル指標を使うつもりはありません。ここは人それぞれですかね。
PyQtGraph は利用したことがないので、ライブラリの移行に時間が掛かるかもしれません。さて、今週中にどこまでできるか?
プログラミング的な内容で、本ブログの話題には相応しくないのですが、Gemini がチャート作成に使う候補のライブラリの特徴を比較してまとめてくれました。HTML で出力してくれたので CSS で少し修飾して掲載しました。😁
項目 | QChart | PyQtGraph | Matplotlib |
---|---|---|---|
統合性 | PySide6 との統合が最もシームレス。Qt のネイティブウィジェットとして振る舞うため、レイアウトへの組み込みやイベント処理が自然。 | PySide6 ウィジェットとして統合可能。Qt とは独立したライブラリだが、PyQt/PySide 環境での使用が前提。 | PySide6 ウィジェットに組み込むには、FigureCanvas を介する必要がある。やや統合ステップが多い。 |
リアルタイム性能 | 中 ~ 高。 シンプルなデータ更新では十分だが、大量データや高速更新では重くなる傾向。OpenGL レンダリングは可能だが、設定が必要。 |
非常に高い(得意分野)。 OpenGL を積極的に利用し、大量のデータや高速な更新でもスムーズな描画が可能。 |
中 ~ 低。 静的なプロットが得意。アニメーションやリアルタイム更新は可能だが、描画速度は他の2つに劣る傾向。 |
カスタマイズ性 | 中 ~ 高。 Qt Designer での視覚的な設定も可能。Qt のスタイルシートも適用可能。ただし、細かい軸の挙動や特殊なグリッド線はコードでの調整がやや煩雑になることも。 |
非常に高い。 軸、グリッド線、カーソル、イベント処理など、低レベルからの細かな制御が可能。科学技術計算や計測データ向けに特化した柔軟性。 |
非常に高い。 ほとんどすべての要素を細かく制御可能。広範なプロットタイプ、図形描画が可能。 |
見た目 | デフォルトでモダンで洗練された見た目。Qt のテーマに馴染む。 | デフォルトはシンプルで機能的。 カスタマイズ次第でプロフェッショナルな見た目に。見た目よりも性能を重視。 |
学術論文やレポート向けの、高品質な静的プロットが得意。デフォルトの見た目はやや古めかしいと感じることも。 |
学習コスト | 中。 Qt のグラフ機能として比較的素直に使える。Qt のオブジェクト指向モデルに慣れていれば習得しやすい。 |
中 ~ 高。 QtCharts とは異なる独自の API を持つため、新たに学習が必要。しかし、リアルタイム性重視ならそのコストはペイする。 |
中 ~ 高。 非常に多機能なため、使いこなすには広範な API を学ぶ必要がある。静的プロットの例は豊富だが、GUI 統合は追加知識が必要。 |
機能性 | 一般的な棒グラフ、折れ線グラフ、散布図、円グラフなど。基本的なチャート機能は網羅。 | リアルタイムプロット、信号処理、イメージ表示など、科学技術・計測分野に特化。インタラクティブな機能が豊富 (ズーム、パン、領域選択)。 | 統計プロット、ヒストグラム、3Dプロット、等高線図など、非常に多岐にわたるプロットタイプと解析機能。豊富なツール。 |
用途適性 | 一般的なビジネスアプリケーションや、そこそこのリアルタイム性能が求められるグラフ表示。Qt エコシステム内で完結させたい場合。 | デイトレードのような高速なリアルタイムデータ可視化、大量データ処理、カスタム性の高いインタラクティブなチャート。 | データ分析結果のレポート、科学技術計算の図示、静的な高品位グラフ。リアルタイム性に課題があるため、メインの描画には不向きな場合も。 |
デイトレアプリへの適合度 | △ ~ 〇 ある程度のリアルタイム性は確保できるが、突き詰めた高速性や非常に複雑なカスタマイズには限界がある可能性。 |
◎ リアルタイム性とカスタマイズ性が最も重要なデイトレアプリには最適。多くのトレーディングツールで同様の高速描画エンジンが使われている。 |
✕ ~ △ 描画の遅延が許容できないデイトレ用途では、メインのリアルタイムチャートとしては推奨しにくい。補助的な静的分析グラフには使える。 |
参考サイト


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