【要約】Next.js + FastAPIでFXシグナルダッシュボードを自作した [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者は、FX指標の有効性を客観的に検証する手段を求めていた。既存のネット情報は条件が曖昧で、信頼性に欠けるものが多い。具体的には以下の課題に直面していた。
- ・指標の有効性を検証するための、公平なバックテスト環境の欠如。
- ・yfinanceによる取得データの期間制限(約730日)。
- ・Renderの無料プラン利用に伴う、コールドスタートによる遅延。
- ・TA-Libの環境構築における依存関係の複雑さ。
// Approach
開発者は、フロントエンドとバックエンドを分離した構成を採用した。インフラの制約を回避するため、以下の手法を講じている。
- ・Next.js (Vercel) と FastAPI (Render) による疎結合な構成。
- ・バックテスト詳細ページをSSG(静的生成)とし、Renderのコールドスタート問題を回避。
- ・フロントエンドへのローカルストレージキャッシュ実装による、データ表示の高速化。
- ・pandasとnumpyを用いた、TA-Libに依存しない指標計算ロジックの自前実装。
// Result
開発者は、46種類の指標に対する2年間の検証結果を公開した。これにより、指標ごとの収益性が定量的に示された。
- ・RCI(48)がPF 1.33、BB %B (3σ)がPF 1.30といった具体的な検証結果を得た。
- ・逆張りオシレーターがPF 1.0を下回るという、実戦的な知見を数値で示した。
- ・30分ごとの自動更新により、リアルタイムなシグナル提供を実現した。
Senior Engineer Insight
> フロントとバックを分離し、SSGでバックエンドの弱点を補う設計は合理的だ。Renderのコールドスタートをフロントのキャッシュで隠蔽する手法は、低コスト運用における優れた回避策といえる。ただし、yfinanceの制限や、TA-Libを使わないことによる計算精度の検証は、商用レベルでは慎重な評価が必要だ。全体として、限られたリソースで実用的なダッシュボードを構築する、優れた設計思想が伺える。