Skip to content

botterYosuke/e-station

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

565 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e-station

e-station hero

e-station は、板・約定・価格の流れを 1 画面で読むためのデスクトップ型トレーディングワークステーションです。
Flowsurface 系のオーダーフロー可視化を土台に、日本株の実運用導線NautilusTrader ベースの REPLAY / 仮想売買 / 戦略検証 をひとつにまとめています。

何がうれしいか

  • 観測が主役: Heatmap / Footprint / DOM / Time & Sales / Kline / Comparison を同じ作業面に並べられます
  • live と replay を同じ思想で使える: 実運用と検証を、似た UI と似た判断フローで往復できます
  • レイアウト資産が作れる: 複数ペイン、リンクグループ、ポップアウトで「自分の観測面」を育てられます
  • ローカル完結で軽い: Rust UI + Python engine の構成で、重い SaaS 依存を避けています
  • 自動化しやすい: REPLAY や注文まわりは Python strategy から直接操作できます

こんな人向け

  • ローソク足だけではなく、板の厚み・約定の流れ・価格帯ごとの反応まで見たい
  • ブローカー専用ツールの発注導線に加えて、Flowsurface 系の観測 UI も欲しい
  • 裁量トレードの振り返りや仮説検証を、REPLAY と仮想注文で回したい
  • 将来的に自分の Python strategy を試したい

まず知っておくべきこと

e-station は現在、起動時にモードを固定して使います(省略すると起動できません)。

モード 目的 主な特徴
--mode live リアルタイム監視と実運用 取引所 / 立花証券のストリームを購読。Heatmap / DOM / Ladder が主役
--mode replay 過去データ再生、仮想注文、戦略検証 J-Quants データで再生。REPLAY 用ペインが自動生成

スクリーンショット

multi-pane layouts

heatmap view

クイックスタート

1. 前提

  • Rust toolchain
  • Python 3.11+
  • uv

2. セットアップ

git clone https://github.com/botterYosuke/e-station
cd e-station
uv sync

3. live を触る

uv run cargo run -- --mode live

注意: Rust アプリ内から Python エンジンを子プロセスとして起動するため、uv run を使って仮想環境のパスを通すか、事前に .venv\Scripts\activate などで仮想環境を有効化しておく必要があります(未設定の場合、program not found などのエラーが発生します)。

最初のおすすめ:

  1. Kline Chart を置く
  2. Heatmap Chart または DOM/Ladder を追加する
  3. Time & Sales を並べる
  4. 同じリンクグループに入れて銘柄同期を試す

4. replay を触る

uv run cargo run -- --mode replay

起動後は ReplayControl ペインで銘柄・期間を設定してデータをロードします。読み込み成功後は対象銘柄の Kline ChartTime & Sales、セッション共通の Order List (REPLAY)Buying Power (REPLAY) が自動生成されます。

セットアップ前チェックリスト

用途 必要なもの
すべての起動 --mode live または --mode replay を必ず指定
外部エンジンに attach FLOWSURFACE_ENGINE_TOKEN を Python 側 --token と一致させる
立花証券 dev 自動ログイン .envDEV_TACHIBANA_USER_ID / DEV_TACHIBANA_PASSWORD / DEV_TACHIBANA_DEMO=true を設定
本番 URL への発注 TACHIBANA_ALLOW_PROD=1 を明示
/api/order/submit を有効化 FLOWSURFACE_ORDER_GUARD_ENABLED=1 を設定
replay J-Quants データを配置

ひな形は .env.example を参照してください。

できること

領域 できること
Order Flow Heatmap / Footprint / DOM / Time & Sales で板と約定の流れを観測
Charting Kline / Comparison で価格推移と相対比較を確認
Workspace 複数ペイン、リンクグループ、ポップアウトで作業面を構築
Execution live では国内株の注文導線、replay では仮想注文
Verification 過去データロード、再生、速度変更、振り返り、戦略検証
Automation Python strategy から replay / order / portfolio を操作

REPLAY と戦略

REPLAY は単なるチャート再生ではなく、NautilusTrader ベースの再生エンジンと UI をつないだ検証モードです。

  • ReplayControl ペインでデータロード・再生開始・速度変更 (1x / 10x / 100x) を操作します
  • 戦略ファイルの指定は 現行実装では必須です
  • WebSocket IPC 経由でコマンドが Python エンジンに送られます (LoadReplayData / SetReplaySpeed / StartEngine)

ユーザー定義 strategy の最小サンプルは examples/test_strategy_daily.pyexamples/README.md にあります。

注文まわり

live と replay では意味が異なります。

モード 注文の意味
live 立花証券 e支店に対する実注文
replay 検証用の仮想注文

replay 注文は実口座には送られず、REPLAY 用の注文一覧と買付余力に分離されます。安全ガードの詳細は docs/specs/order.mddocs/specs/venues/tachibana.md を参照してください。

ドキュメントの読み分け

このリポジトリのドキュメントは 2 系統あります。

アーキテクチャ概要

Rust / Iced(UI)+ Python engine(市場データ・NautilusTrader・立花証券)の 2 プロセス構成で、IPC WebSocket で連携します。詳細は AGENTS.mddocs/specs/data-engine.md を参照してください。

安全に関する注意

e-station はローカル実行の単一ユーザー向けツールです。
特に strategy 実行は、ユーザーが書いた Python コードを同じプロセスで動かす前提です。

  • サンドボックス、プロセス隔離、任意コード実行制限は実装していません
  • バグによる誤発注、暴走、想定外損失はユーザーの責任です
  • replay で十分に検証してから demo、本番へ進むことを強く推奨します

コントリビュート / フィードバック

不具合報告では、live / replay のどちらか、使用したエンドポイント、銘柄コード、期間、起動方法を添えると再現しやすくなります。

License

GPL-3.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors