運用スケジュール¶
概要¶
ライブデータアーカイブは、launchdを使用して自動化されています。
スケジュール一覧¶
| 時刻 (JST) | 時刻 (ET) | タスク | スクリプト |
|---|---|---|---|
| 継続 | 継続 | UW Flow Archive | archive_uw_flow.py --continuous |
| 場中15分毎 | 場中15分毎 | Market Data Snapshot | run_paper_trading.py 内部 |
| 07:00 | 17:00 | EOD Gap Fill | archive_eod_fill.py |
| 09:00 | 19:00 | IV Rank Archive | Barchart scraper後処理 |
| 21:00 | 07:00 | IV Rank Archive | Barchart scraper後処理 |
launchd設定¶
UW Flow Archive (継続実行)¶
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ryo.aegis.archive_uw_flow</string>
<key>ProgramArguments</key>
<array>
<string>/Users/ryo/.../AEGIS/venv/bin/python</string>
<string>/Users/ryo/.../AEGIS/scripts/archive_uw_flow.py</string>
<string>--continuous</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/ryo/logs/aegis/archive_uw_flow.log</string>
<key>StandardErrorPath</key>
<string>/Users/ryo/logs/aegis/archive_uw_flow.err</string>
</dict>
</plist>
EOD Gap Fill (毎日 JST 07:00)¶
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ryo.aegis.archive_eod</string>
<key>ProgramArguments</key>
<array>
<string>/Users/ryo/.../AEGIS/venv/bin/python</string>
<string>/Users/ryo/.../AEGIS/scripts/archive_eod_fill.py</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>7</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/Users/ryo/logs/aegis/archive_eod.log</string>
<key>StandardErrorPath</key>
<string>/Users/ryo/logs/aegis/archive_eod.err</string>
</dict>
</plist>
インストール手順¶
# plistファイルをコピー
cp AEGIS/Library/LaunchAgents/*.plist ~/Library/LaunchAgents/
# サービスをロード
launchctl load ~/Library/LaunchAgents/com.ryo.aegis.archive_uw_flow.plist
launchctl load ~/Library/LaunchAgents/com.ryo.aegis.archive_eod.plist
# 状態確認
launchctl list | grep aegis
監視とアラート¶
ログ確認¶
# UW Flow Archive ログ
tail -f ~/logs/aegis/archive_uw_flow.log
# EOD Fill ログ
tail -f ~/logs/aegis/archive_eod.log
ダッシュボード統合¶
ダッシュボードの「Archive Status」セクションで以下を確認可能:
- 最終アーカイブ時刻
- 当日のレコード数
- ファイルサイズ
- ギャップ検出状況
トラブルシューティング¶
サービスが起動しない¶
# ログを確認
cat ~/logs/aegis/archive_uw_flow.err
# サービスをアンロード・再ロード
launchctl unload ~/Library/LaunchAgents/com.ryo.aegis.archive_uw_flow.plist
launchctl load ~/Library/LaunchAgents/com.ryo.aegis.archive_uw_flow.plist
API接続エラー¶
# 環境変数を確認
cat AEGIS/.env | grep -E "(UW_API|POLYGON)"
# 手動実行でテスト
cd AEGIS && source venv/bin/activate
python scripts/archive_uw_flow.py --test