feat: add candlestick chart with portfolio value line (BT-004)

- Add spot_open field to BacktestDailyPoint for complete OHLC data
- Replace line chart with candlestick chart showing price OHLC
- Add portfolio value line on secondary Y-axis
- Add _chart_options_from_dict for rendering job results
- Update both render_result and render_job_result to use new chart
This commit is contained in:
Bu5hm4nn
2026-04-06 11:22:10 +02:00
parent aff4df325d
commit f00b1b7755
6 changed files with 129 additions and 23 deletions

View File

@@ -13,7 +13,6 @@ notes:
- Pre-alpha policy: we may cut or replace old features without backward compatibility until alpha is declared.
- Alpha migration policy: once alpha is declared, compatibility only needs to move forward; backward migrations are not required.
priority_queue:
- BT-004
- EXEC-002
- DATA-DB-005
- DATA-002A
@@ -24,6 +23,7 @@ priority_queue:
- GCF-001
- DATA-DB-006
recently_completed:
- BT-004
- BT-005
- CORE-003
- CONV-001
@@ -50,7 +50,6 @@ recently_completed:
- CORE-002B
states:
backlog:
- BT-004
- DATA-DB-005
- DATA-DB-006
- EXEC-002
@@ -62,6 +61,7 @@ states:
- GCF-001
in_progress: []
done:
- BT-004
- BT-005
- CORE-003
- CONV-001

View File

@@ -1,6 +1,6 @@
id: BT-004
title: Backtest Visualization Chart
status: backlog
status: done
priority: P1
effort: M
depends_on:
@@ -14,6 +14,6 @@ acceptance_criteria:
- Chart is responsive and readable on mobile/tablet viewports.
- Chart library matches existing app styling (dark mode support).
notes: |
Consider using a lightweight charting library that integrates well with NiceGUI.
Portfolio value line should be clearly distinguishable from candlesticks.
May want to add toggle for showing/hiding different series.
Implemented using ECharts candlestick series with portfolio value line on secondary Y-axis.
Added spot_open field to BacktestDailyPoint for complete OHLC data.
Charts render for both immediate results and async job results.