alpha-visualizer 1.1.0__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- alpha_visualizer-1.2.0/.hypothesis/constants/060c20f3c4ff96cb +4 -0
- alpha_visualizer-1.1.0/.hypothesis/constants/43806b6776833520 → alpha_visualizer-1.2.0/.hypothesis/constants/144b1ba7393598bf +1 -1
- alpha_visualizer-1.2.0/.hypothesis/constants/1fedef6b4cc376fe +4 -0
- alpha_visualizer-1.2.0/.hypothesis/constants/4c29ef3d0bedcdd8 +4 -0
- alpha_visualizer-1.2.0/.hypothesis/constants/5c80be020ed7a646 +4 -0
- alpha_visualizer-1.2.0/.hypothesis/constants/bc34da97bbdf0eb3 +4 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/CHANGELOG.md +36 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/PKG-INFO +3 -2
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/README.en.md +2 -1
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/README.md +2 -1
- alpha_visualizer-1.2.0/docs/screenshots/en/backtest-tv.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/en/browse.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/en/ideas.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/en/live.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/en/strategy-signal-tv.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/ja/backtest-tv.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/ja/browse.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/ja/ideas.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/ja/live.png +0 -0
- alpha_visualizer-1.2.0/docs/screenshots/ja/strategy-signal-tv.png +0 -0
- alpha_visualizer-1.2.0/docs/superpowers/plans/2026-07-25-live-equity-rich.md +1882 -0
- alpha_visualizer-1.2.0/docs/superpowers/plans/2026-07-26-browse-recipe-rollup.md +3136 -0
- alpha_visualizer-1.2.0/docs/superpowers/plans/2026-07-27-browse-symbol-coverage.md +1425 -0
- alpha_visualizer-1.2.0/docs/superpowers/plans/2026-07-27-maintenance-orphan-runs.md +1071 -0
- alpha_visualizer-1.2.0/docs/superpowers/specs/2026-07-25-live-equity-rich-design.md +176 -0
- alpha_visualizer-1.2.0/docs/superpowers/specs/2026-07-26-browse-recipe-rollup-design.md +313 -0
- alpha_visualizer-1.2.0/docs/superpowers/specs/2026-07-27-browse-symbol-coverage-design.md +405 -0
- alpha_visualizer-1.2.0/docs/superpowers/specs/2026-07-27-maintenance-orphan-runs-design.md +457 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/forge/data/results/backtest_results.db +0 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/dual_symbol_qqq.json +43 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/dual_symbol_spy.json +43 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/ema_trend_v1.json +44 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/ema_trend_v2.json +44 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/ema_trend_v3.json +44 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/idle_recipe_v1.json +43 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/idle_recipe_v2.json +43 -0
- alpha_visualizer-1.2.0/frontend/e2e/fixtures/forge/data/strategies/no_symbol_v1.json +41 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/helpers/locators.ts +8 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/screenshots/capture.spec.ts +15 -3
- alpha_visualizer-1.2.0/frontend/e2e/specs/browse.spec.ts +91 -0
- alpha_visualizer-1.2.0/frontend/e2e/specs/maintenance.spec.ts +35 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/openapi.json +189 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/api/client.ts +15 -1
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/api/types.gen.ts +116 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/api/types.ts +29 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/EquityDrawdownPaneTV.tsx +90 -6
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/EquityDrawdownPaneTV.test.tsx +201 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/data.test.ts +3 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/data.ts +18 -2
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/theme.ts +21 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/AppNav.tsx +3 -2
- alpha_visualizer-1.2.0/frontend/src/components/ConfirmActionButton.tsx +78 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/AppNav.test.tsx +10 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/responsive-styles.test.tsx +11 -4
- alpha_visualizer-1.2.0/frontend/src/components/browser/CollapsibleSection.tsx +69 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/FilterBar.tsx +110 -82
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/Heroline.tsx +12 -8
- alpha_visualizer-1.2.0/frontend/src/components/browser/RecipeRow.tsx +262 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/SavedViews.tsx +1 -1
- alpha_visualizer-1.2.0/frontend/src/components/browser/StrategyRow.tsx +246 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/StrategyTable.tsx +94 -278
- alpha_visualizer-1.2.0/frontend/src/components/browser/StrategyTableFooter.tsx +54 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/SymbolCoverageTable.tsx +293 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/__tests__/CollapsibleSection.test.tsx +48 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/__tests__/FilterBar.test.tsx +72 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/__tests__/RecipeRow.test.tsx +215 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/__tests__/StrategyRow.test.tsx +80 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/__tests__/StrategyTable.test.tsx +106 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/__tests__/StrategyTableFooter.test.tsx +51 -0
- alpha_visualizer-1.2.0/frontend/src/components/browser/__tests__/SymbolCoverageTable.test.tsx +211 -0
- alpha_visualizer-1.2.0/frontend/src/components/live/LiveKpiRow.tsx +125 -0
- alpha_visualizer-1.2.0/frontend/src/components/live/LivePositionView.tsx +262 -0
- alpha_visualizer-1.2.0/frontend/src/components/live/LivePositionsTable.tsx +195 -0
- alpha_visualizer-1.2.0/frontend/src/components/live/__tests__/LiveKpiRow.test.tsx +100 -0
- alpha_visualizer-1.2.0/frontend/src/components/live/__tests__/LivePositionView.test.tsx +246 -0
- alpha_visualizer-1.2.0/frontend/src/components/live/__tests__/LivePositionsTable.test.tsx +159 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/live/__tests__/LiveTab.test.tsx +6 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Stat.tsx +4 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/tokens.css +3 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useEquityViewport.test.ts +46 -0
- alpha_visualizer-1.2.0/frontend/src/hooks/__tests__/useOrphanRuns.test.tsx +180 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useStrategyList.test.tsx +109 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useEquityViewport.ts +19 -4
- alpha_visualizer-1.2.0/frontend/src/hooks/useOrphanRuns.ts +136 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useStrategyList.ts +95 -42
- alpha_visualizer-1.2.0/frontend/src/lib/__tests__/liveEquity.test.ts +89 -0
- alpha_visualizer-1.2.0/frontend/src/lib/__tests__/recipes.test.ts +184 -0
- alpha_visualizer-1.2.0/frontend/src/lib/__tests__/symbolStats.test.ts +242 -0
- alpha_visualizer-1.2.0/frontend/src/lib/liveEquity.ts +81 -0
- alpha_visualizer-1.2.0/frontend/src/lib/recipes.ts +146 -0
- alpha_visualizer-1.2.0/frontend/src/lib/symbolStats.ts +189 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/pages/ComparePage.tsx +40 -4
- alpha_visualizer-1.2.0/frontend/src/pages/MaintenancePage.tsx +51 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/pages/__tests__/ComparePage.test.tsx +43 -0
- alpha_visualizer-1.2.0/frontend/src/pages/__tests__/MaintenancePage.test.tsx +84 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/router.tsx +4 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/BrowseScreen.tsx +32 -22
- alpha_visualizer-1.2.0/frontend/src/screens/MaintenanceScreen.tsx +363 -0
- alpha_visualizer-1.2.0/frontend/src/screens/__tests__/MaintenanceScreen.test.tsx +220 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/pyproject.toml +2 -2
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/__init__.py +1 -1
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/app.py +2 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/db.py +10 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/repositories/live.py +112 -7
- alpha_visualizer-1.2.0/src/alpha_visualizer/routers/maintenance.py +131 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/live.py +21 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/schemas/maintenance.py +45 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/forge_cli.py +10 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/live.py +15 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/BrowsePage-B-92hzJX.js +2 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/BrowsePage-B-92hzJX.js.map +1 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/ChartDataTable-CniZvVja.js +2 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/ChartDataTable-CniZvVja.js.map +1 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/ComparePage-C5IbpUOw.js +2 -0
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/ComparePage-majybokc.js.map → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/ComparePage-C5IbpUOw.js.map +1 -1
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/DetailPage-Dw9cEr_K.js +5 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/DetailPage-Dw9cEr_K.js.map +1 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/IdeasPage-BzjOAu6N.js +2 -0
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/IdeasPage-5nUwf0QK.js.map → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/IdeasPage-BzjOAu6N.js.map +1 -1
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/LivePage-BGNZpy_q.js +2 -0
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/LivePage-DiY_TFLp.js.map → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/LivePage-BGNZpy_q.js.map +1 -1
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/LiveTab-WRt0F7li.js +2 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/LiveTab-WRt0F7li.js.map +1 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/MaintenancePage-COvHOIOz.js +2 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/MaintenancePage-COvHOIOz.js.map +1 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/ReturnDistributionChart-C5OmUvzu.js +3 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/ReturnDistributionChart-C5OmUvzu.js.map +1 -0
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/RunLogDetails-DiFHyzbN.js → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/RunLogDetails-BABF8_XY.js +2 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/RunLogDetails-DiFHyzbN.js.map → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/RunLogDetails-BABF8_XY.js.map +1 -1
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/SettingsToggles-CSV0amFu.js +2 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/SettingsToggles-CSV0amFu.js.map +1 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/errorMessage-DxHseFDH.js +2 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/errorMessage-DxHseFDH.js.map +1 -0
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/index-DdWOg4nE.js → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/index-Dzr0WEuO.js +3 -3
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/index-Dzr0WEuO.js.map +1 -0
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/index-CqRRiSkv.css → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/index-tTmYKm5P.css +1 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/useBacktestData-DUdHIQ37.js → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/useBacktestData-CDEJ432X.js +2 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/useBacktestData-DUdHIQ37.js.map → alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/useBacktestData-CDEJ432X.js.map +1 -1
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/useDocumentTitle-C4QqxLhu.js +2 -0
- alpha_visualizer-1.2.0/src/alpha_visualizer/static/assets/useDocumentTitle-C4QqxLhu.js.map +1 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/index.html +2 -2
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/factories.py +115 -1
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/fixtures/build_e2e_fixture.py +165 -6
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/repositories/test_live_repo.py +221 -1
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_live.py +120 -0
- alpha_visualizer-1.2.0/tests/routers/test_maintenance.py +278 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/schemas/test_schemas.py +39 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/uv.lock +1 -1
- alpha_visualizer-1.1.0/.hypothesis/constants/90fccc12da2fa6c9 +0 -4
- alpha_visualizer-1.1.0/.hypothesis/constants/bfb863c582f473aa +0 -4
- alpha_visualizer-1.1.0/.hypothesis/constants/f7f9c6b3c86f63a8 +0 -4
- alpha_visualizer-1.1.0/docs/screenshots/en/backtest-tv.png +0 -0
- alpha_visualizer-1.1.0/docs/screenshots/en/browse.png +0 -0
- alpha_visualizer-1.1.0/docs/screenshots/en/ideas.png +0 -0
- alpha_visualizer-1.1.0/docs/screenshots/en/strategy-signal-tv.png +0 -0
- alpha_visualizer-1.1.0/docs/screenshots/ja/backtest-tv.png +0 -0
- alpha_visualizer-1.1.0/docs/screenshots/ja/browse.png +0 -0
- alpha_visualizer-1.1.0/docs/screenshots/ja/ideas.png +0 -0
- alpha_visualizer-1.1.0/docs/screenshots/ja/strategy-signal-tv.png +0 -0
- alpha_visualizer-1.1.0/frontend/e2e/specs/browse.spec.ts +0 -33
- alpha_visualizer-1.1.0/frontend/src/components/browser/SymbolAtlas.tsx +0 -189
- alpha_visualizer-1.1.0/frontend/src/components/browser/SymbolCard.tsx +0 -171
- alpha_visualizer-1.1.0/frontend/src/components/browser/__tests__/FilterBar.test.tsx +0 -34
- alpha_visualizer-1.1.0/frontend/src/components/browser/__tests__/StrategyTable.test.tsx +0 -96
- alpha_visualizer-1.1.0/frontend/src/components/live/LivePositionView.tsx +0 -189
- alpha_visualizer-1.1.0/frontend/src/components/live/__tests__/LivePositionView.test.tsx +0 -63
- alpha_visualizer-1.1.0/frontend/src/hooks/useSymbolStats.ts +0 -78
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/BrowsePage-D4HSTV8c.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/BrowsePage-D4HSTV8c.js.map +0 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/ComparePage-majybokc.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/DetailPage-D5QS2wVd.js +0 -5
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/DetailPage-D5QS2wVd.js.map +0 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/IdeasPage-5nUwf0QK.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/LivePage-DiY_TFLp.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/LiveTab-z5dBkNoM.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/LiveTab-z5dBkNoM.js.map +0 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/ShareCardButton-Cq78-xLR.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/ShareCardButton-Cq78-xLR.js.map +0 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/Sparkline-j3wsoa1t.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/Sparkline-j3wsoa1t.js.map +0 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/errorMessage-DNU04FBc.js +0 -3
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/errorMessage-DNU04FBc.js.map +0 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/index-DdWOg4nE.js.map +0 -1
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/useDocumentTitle-LCfdq8bb.js +0 -2
- alpha_visualizer-1.1.0/src/alpha_visualizer/static/assets/useDocumentTitle-LCfdq8bb.js.map +0 -1
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.agents/skills/source-command-audit-licenses/SKILL.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.agents/skills/source-command-pre-release/SKILL.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.claude/commands/audit-licenses.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.claude/commands/pre-release.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.codex/hooks.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/ISSUE_TEMPLATE/bug_report_ja.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/ISSUE_TEMPLATE/feature_request_ja.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/codeql/README.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/codeql/codeql-config.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/dependabot.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/workflows/ci.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/workflows/codeql.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/workflows/lighthouse.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.github/workflows/release.yml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.gitignore +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/.gitignore +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/004709bbf59880d3 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/0bf3463e8f4751b8 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/10d56fd11d90e91d +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/1632901e1b51683b +0 -0
- /alpha_visualizer-1.1.0/.hypothesis/constants/83e3c546761e402a → /alpha_visualizer-1.2.0/.hypothesis/constants/1e3ce406f3635331 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/296b8092179c9f55 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/312a7aaf12a1fd47 +0 -0
- /alpha_visualizer-1.1.0/.hypothesis/constants/bd75c3c18e8ba4f4 → /alpha_visualizer-1.2.0/.hypothesis/constants/316886ef98081ce9 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/331e194303817b32 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/43f703bafb1e4b04 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/4577b97f57a8a832 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/4726660442f99a00 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/4a1c4d1532cab28e +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/4b255f25d1067b71 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/4e26bccf25a8c1bb +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/508b282112ab038e +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/5c9eb073058f11a0 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/757b1f8305546439 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/7f90c9d611001617 +0 -0
- /alpha_visualizer-1.1.0/.hypothesis/constants/5bba97c183989740 → /alpha_visualizer-1.2.0/.hypothesis/constants/812d29a19e56a27b +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/8add761403393fca +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/8bd584eda4b3b534 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/8f23e54ec81ce772 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/96ca93165140d446 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/a27ca3dcb982038c +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/a636a4647020033d +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/a7474b0c3a5a5850 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/ab4df659c6b192db +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/af039261f357a5c1 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/afe5949501fc5b8f +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/b0487cda9820c053 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/b5541576e1e9aea7 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/b9ff5bcd3a53e3a7 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/c5349cb90ddc7968 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/cd7fdfbe3f66457b +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/d34317036474de6e +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/da39a3ee5e6b4b0d +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/e44a457d795e56c2 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/e4be0e30e6ada148 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/ea2d606acbfff989 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/eed5e66c16ae84b8 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/f2f91c7f9b44111d +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/f7c4a04c97c0daf8 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/fa443af6269a6e02 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/fc009534004030e1 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/fe325b4404aa1121 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/.hypothesis/constants/ff4517cbfe51fea1 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/AGENTS.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/CLAUDE.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/CODE_OF_CONDUCT.en.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/CODE_OF_CONDUCT.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/CONTRIBUTING.en.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/CONTRIBUTING.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/LICENSE +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/NOTICE +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/SECURITY.en.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/SECURITY.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/THIRDPARTY_LICENSES.txt +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/cliff.toml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/adr/0001-pages-vs-screens.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/adr/0002-charts-visx-vs-components.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/adr/0003-openapi-typescript-codegen.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/adr/0004-condition-node-discriminated-union.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/lighthouse-ci.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/en/compare-heatmap.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/en/compare.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/en/detail.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/en/optimize.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/en/strategy.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/ja/compare-heatmap.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/ja/compare.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/ja/detail.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/ja/optimize.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/docs/screenshots/ja/strategy.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/.gitignore +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/.npmrc +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/.size-limit.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/.storybook/main.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/.storybook/preview.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/CLAUDE.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/README.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/THIRDPARTY_FONTS.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/README.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/forge/data/historical/SPY_1d.parquet +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/forge/data/ideas/ideas.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/forge/data/strategies/momo_breakout.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/forge/data/strategies/rsi_reversal.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/forge/data/strategies/sma_cross.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/fixtures/forge/forge.yaml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/samples/sample-fixture.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/screenshots/equity-tv.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/screenshots/strategy-signal-tv.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/specs/compare.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/specs/detail.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/specs/i18n.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/specs/share.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/visual/README.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/visual/__snapshots__/linux/equity-drawdown-tv.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/visual/__snapshots__/linux/strategy-signal-tv.png +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/e2e/visual/tv-charts.spec.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/eslint.config.js +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/index.html +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/package.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/playwright.config.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/playwright.samples.config.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/playwright.screenshots.config.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/playwright.visual.config.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/pnpm-lock.yaml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/pnpm-workspace.yaml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/public/favicon.svg +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/public/icons.svg +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/api/__tests__/client.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/CompareEquityTV.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/CompareEquityTV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/EquityDrawdownPaneTV.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/RollingMetricsChartTV.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/RollingMetricsChartTV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/StrategySignalChartTV.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/StrategySignalChartTV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/WFOEquityTV.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/WFOEquityTV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/CompareEquityTV.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/RollingMetricsChartTV.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/StrategySignalChartTV.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/WFOEquityTV.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/regimeBands.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/theme.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/__tests__/trades.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/regimeBands.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/tv/trades.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/AnnualReturnsBarV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/CorrelationHeatmapV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/MAEMFEScatterV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/MonthlyHeatmapV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/OptimizeHeatmapV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/OptimizeScatterV.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/Sparkline.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/charts/visx/Sparkline.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/AppFooter.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/CommandPalette.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/DetailToolbar.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/MetricsSummaryBarV2.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/MetricsSummaryBarV2.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/RootLayout.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/RunLogDetails.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/SettingsToggles.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/ShareCardButton.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/StrategyHero.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/AppFooter.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/CommandPalette.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/CorrelationHeatmap.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/MetricsSummaryBarV2.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/RootLayout.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/SettingsToggles.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/ShareCardButton.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/__tests__/ShareCardXButton.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/CompareFloatingBar.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/GroupByToggle.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/RunHistoryTab.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/StrategySlidePanel.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/browser/__tests__/RunHistoryTab.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/AnnualReturnsBar.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/CorrelationHeatmap.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/DrawdownDetailChart.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/MAEMFEScatter.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/MonteCarloChart.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/OptimizeHeatmap.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/OptimizeScatter.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/ReturnDistributionChart.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/VaRChart.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/WFOTimeline.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/charts/WeekdayPerformanceChart.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/jobs/JobRunnerCard.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/live/LiveTab.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/live/SummaryCard.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/live/__tests__/format.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/live/format.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/CarryAdjustedCard.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/CompareTable.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/ISOOSMetrics.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/MetricsGrid.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/RegimeBreakdownCards.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/SignalQualityBadge.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/__tests__/SignalQualityBadge.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/__tests__/evaluateGood.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/metrics/evaluate.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/trades/TradeTable.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/trades/__tests__/TradeTable.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/tuning/DuplicateStrategyCard.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/tuning/TuningPanel.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/tuning/__tests__/DuplicateStrategyCard.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/components/tuning/__tests__/TuningPanel.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/constants/metricDefinitions.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/constants/runSource.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/contexts/DashboardContext.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/contexts/dashboardConstants.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/__tests__/noHardcodedColors.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/__tests__/tokens.contrast.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/a11y.css +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Button.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Card.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/ChartDataTable.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Chip.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/ConfirmDialog.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Divider.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/ErrorBanner.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/KeyValue.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Loading.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/OverflowMenu.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Pill.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Pill.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/SectionHeader.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/SortHeaderCell.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Stat.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/TabBar.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/Toolbar.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/ChartDataTable.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/ConfirmDialog.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/ErrorBanner.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/Loading.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/OverflowMenu.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/Pill.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/SortHeaderCell.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/__tests__/TabBar.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/index.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/primitives/srOnly.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/design/useChartTheme.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useDocumentTitle.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useFetchByKey.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useJobRunner.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useLiveAvailability.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useRunBacktest.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useScrollRestoration.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useStrategyHistorical.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useSyncedTimeRange.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useTheme.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useViewerSettings.lang.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/__tests__/useViewerSettings.shared.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useBacktestData.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useDebounce.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useDocumentTitle.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useFetchByKey.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useIdeasList.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useJobRunner.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useLiveAvailability.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useLiveList.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useRecentStrategies.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useScrollRestoration.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useSparklineCache.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useStrategyHistorical.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useSyncedTimeRange.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/hooks/useTheme.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/i18n/__tests__/strings.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/i18n/strings.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/bestSharpe.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/correlation.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/distribution.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/drawdown.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/errorMessage.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/format.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/metricLabel.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/monteCarlo.properties.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/monteCarlo.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/optimizeHeatmap.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/rolling.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/searchParams.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/searchStrategies.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/shareCard.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/shareCardMulti.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/shareTweet.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/walkForward.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/__tests__/weekday.test.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/assetClass.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/bestSharpe.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/correlation.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/csv.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/distribution.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/drawdown.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/errorMessage.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/exportPng.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/format.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/metricLabel.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/monteCarlo.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/optimizeHeatmap.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/rolling.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/searchParams.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/searchStrategies.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/shareCard.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/shareTweet.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/walkForward.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/lib/weekday.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/main.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/mock/btData.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/pages/BrowsePage.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/pages/DetailPage.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/pages/IdeasPage.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/pages/LivePage.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/BacktestScreen.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/BacktestScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/CompareScreen.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/CompareScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/ISOOSScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/IdeasScreen.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/IdeasScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/LiveScreen.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/LiveScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/OptimizeScreen.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/OptimizeScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/StrategyScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/WFOScreen.stories.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/WFOScreen.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/__tests__/BacktestScreen.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/__tests__/CompareScreen.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/__tests__/LiveScreen.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/__tests__/OptimizeScreen.test.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/screens/strategy/SignalChartCard.tsx +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/src/test-setup.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/tsconfig.app.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/tsconfig.e2e.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/tsconfig.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/tsconfig.node.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/frontend/vite.config.ts +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/lighthouserc.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/release.sh +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/README.en.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/README.md +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/compatibility_matrix.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/ideas_defs.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/pseudo_backtest.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/pseudo_grid.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/pseudo_wfo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/strategy_defs.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/synthetic_ohlcv.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/_generators/writers.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/build_samples.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/ideas/ideas.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/results/backtest_results.db +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/bbands_breakout_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/donchian_turtle_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/ema_adx_macd_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/macd_crossover_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/range_reversion_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/rsi_reversion_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/sma_crossover_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/data/strategies/supertrend_adx_v1.json +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/samples/sample-forge/forge.yaml +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/scripts/compare_sqlite_dump.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/scripts/generate_openapi.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/scripts/generate_thirdparty_js.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/scripts/verify_build_artifacts.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/cli.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/dependencies.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/errors.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/forge_config.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/log_sanitize.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/repositories/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/repositories/backtest_results.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/repositories/ideas.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/repositories/optimization.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/repositories/strategies.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/historical.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/ideas.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/jobs.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/live.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/optimize.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/results.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/run.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/strategies.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/routers/wfo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/historical.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/ideas.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/optimize.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/results.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/strategies.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/schemas/wfo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/backtest.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/historical.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/jobs.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/tuning.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/services/walk_forward.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/fonts-DJsrEZjK.css +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/format-jy8n8zRe.js +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/format-jy8n8zRe.js.map +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/inter-tight-latin-400-normal-BLrFJfvD.woff +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/inter-tight-latin-400-normal-iW8qmuJY.woff2 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/inter-tight-latin-500-normal-BFXNXuvF.woff2 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/inter-tight-latin-500-normal-pobXraBK.woff +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/inter-tight-latin-600-normal-BgSTtRxb.woff2 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/inter-tight-latin-600-normal-D7bG6gX1.woff +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/react-CT4Qhznq.js +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/react-CT4Qhznq.js.map +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/rolldown-runtime-C0phanGV.js +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/source-serif-4-latin-600-normal-DMD1h6_f.woff +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/source-serif-4-latin-600-normal-DouSKlru.woff2 +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/tv-CrUgTguZ.js +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/tv-CrUgTguZ.js.map +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/visx-BPdcfQ_K.js +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/assets/visx-BPdcfQ_K.js.map +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/favicon.svg +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/src/alpha_visualizer/static/icons.svg +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/conftest.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/repositories/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/repositories/test_backtest_results_repo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/repositories/test_ideas_reader.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/repositories/test_optimization_repo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/repositories/test_strategies_repo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_db_mode_write_paths.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_forge_yaml_integration.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_historical.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_ideas.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_jobs.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_optimize.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_results.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_run.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_strategies.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_strategies_source.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_strategy_duplicate.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_strategy_save.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/routers/test_wfo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/test_pseudo_backtest.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/test_pseudo_grid.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/test_pseudo_wfo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/test_sample_forge.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/test_strategy_defs.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/test_synthetic_ohlcv.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/samples/test_writers.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/schemas/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/__init__.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/test_backtest.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/test_backtest_properties.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/test_historical.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/test_jobs.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/test_live.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/test_tuning.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/services/test_wfo.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_app.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_cli.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_compare_sqlite_dump.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_db.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_dependencies.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_errors.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_forge_config.py +0 -0
- {alpha_visualizer-1.1.0 → alpha_visualizer-1.2.0}/tests/test_log_sanitize.py +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/services/live.py
|
|
2
|
+
# hypothesis_version: 6.161.1
|
|
3
|
+
|
|
4
|
+
[0.0, 100.0, 'DIFF_METRICS', 'aligned_aggregates', 'backtest', 'backtest_equity', 'backtest_metrics', 'benchmark_equity', 'cash', 'compute_diff', 'date_in_period', 'diff', 'diff_value', 'direction', 'end', 'entry_at', 'entry_date', 'entry_price', 'equity', 'exit_at', 'exit_date', 'exit_price', 'exit_reason', 'id', 'kind', 'live', 'long', 'max_drawdown_pct', 'metrics', 'net_pnl', 'normalize_trade', 'optional_float', 'period', 'pnl', 'portfolio_id', 'position', 'position_detail', 'positions', 'profit_factor', 'qty', 'receipts_count', 'return_pct', 'safe_float', 'short', 'side', 'start', 'strategy_id', 'sub_strategies', 'summary', 'symbol', 'total_trades', 'total_value', 'trade_id', 'trade_period', 'trades', 'updated_at', 'warnings', 'win_rate_pct']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/repositories/live.py
|
|
2
|
+
# hypothesis_version: 6.161.1
|
|
3
|
+
|
|
4
|
+
[0.0, 'backtest_equity', 'backtest_equity_json', 'backtest_metrics', 'benchmark_equity', 'cash', 'equity', 'equity_json', 'metrics', 'metrics_json', 'no such column', 'no such table', 'portfolio_id', 'positions', 'positions_json', 'receipts_count', 'sub_strategies', 'sub_strategies_json', 'symbols', 'tags', 'total_value', 'updated_at']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/routers/maintenance.py
|
|
2
|
+
# hypothesis_version: 6.161.1
|
|
3
|
+
|
|
4
|
+
[400, 900, '--dry-run', '--json', '--strategy', '--vacuum', '-y', 'backtest', 'backtest_rows', 'bytes_after', 'bytes_before', 'count', 'deleted', 'engine', 'no such command', 'optimization_rows', 'orphans', 'prune-orphans', 'strategy_ids', 'total_bytes', 'vacuum_error']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/db.py
|
|
2
|
+
# hypothesis_version: 6.161.1
|
|
3
|
+
|
|
4
|
+
['[]', 'all_trials_json', 'asset_class', 'asset_type', 'avg_holding_days', 'avg_loss', 'avg_slippage_bps', 'avg_win', 'backtest_equity_json', 'backtest_results', 'best_metric_name', 'best_metric_value', 'best_params_json', 'broker', 'buy_hold_curve_json', 'cagr_pct', 'calmar_ratio', 'carry_adjusted_json', 'cash', 'commission', 'created_at', 'definition_json', 'duration_seconds', 'entry_at', 'entry_price', 'equity_curve_json', 'equity_json', 'exit_at', 'exit_price', 'exit_reason', 'gross_pnl', 'holding_seconds', 'id', 'live_summaries', 'live_trades', 'max_drawdown_pct', 'metrics_json', 'n_trials', 'name', 'net_pnl', 'notes', 'oos_start', 'optimization_runs', 'portfolio_id', 'positions_json', 'profit_factor', 'qty', 'receipts_count', 'return_pct', 'run_at', 'run_id', 'sharpe_ratio', 'side', 'slippage_bps', 'snapshot_id', 'sortino_ratio', 'source', 'source_file', 'strategies', 'strategy_id', 'strategy_version', 'sub_strategies_json', 'symbol', 'symbols', 'tags', 'timeframe', 'total_commission', 'total_return_pct', 'total_trades', 'total_value', 'trade_id', 'trades_json', 'updated_at', 'version', 'win_rate_pct']
|
|
@@ -5,6 +5,42 @@ alpha-visualizer の全バージョン変更履歴です。
|
|
|
5
5
|
> **License Change Notice (v0.6.0+):** v0.6.0 以降、ライセンスは MIT から Apache-2.0 に変更されました。v0.5.0 以前のリリースは引き続き MIT ライセンスです。詳細は [LICENSE](LICENSE) を参照してください。
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
## [1.1.0] - 2026-07-24
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### その他
|
|
12
|
+
|
|
13
|
+
- バージョン 1.1.0 にバンプ
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### テスト
|
|
18
|
+
|
|
19
|
+
- **e2e**: TV チャートの Playwright ビジュアル回帰テストを追加 (#325)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### ドキュメント
|
|
24
|
+
|
|
25
|
+
- CHANGELOG を v1.0.1 に更新
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### バグ修正
|
|
30
|
+
|
|
31
|
+
- CodeQL の指摘 7 件を解消 (#326)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### 新機能
|
|
36
|
+
|
|
37
|
+
- **charts**: EquityDrawdownPaneTV にレジーム背景バンドを実装 (issue #317) (#323)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
- **charts**: TV チャートの双方向 viewport sync を実装 (issue #318) (#324)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
8
44
|
## [1.0.1] - 2026-07-23
|
|
9
45
|
|
|
10
46
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alpha-visualizer
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Web visualization tool for AlphaForge backtest results
|
|
5
5
|
Project-URL: Homepage, https://github.com/alforge-labs/alpha-visualizer
|
|
6
6
|
Project-URL: Repository, https://github.com/alforge-labs/alpha-visualizer
|
|
@@ -52,12 +52,13 @@ Description-Content-Type: text/markdown
|
|
|
52
52
|
|
|
53
53
|
## 主な機能
|
|
54
54
|
|
|
55
|
-
- **Browse** — 戦略ライブラリの一覧と検索(Symbol
|
|
55
|
+
- **Browse** — 戦略ライブラリの一覧と検索(Symbol Coverage / Saved Views / Strategy Ledger)
|
|
56
56
|
- **Detail** — Equity / Drawdown / 取引履歴・ベンチマーク(alpha / beta / IR / Correlation)
|
|
57
57
|
- **Compare** — 複数戦略の指標比較と相関ヒートマップ
|
|
58
58
|
- **Optimize** — WFO 合成エクイティカーブ・Grid 最適化結果の可視化
|
|
59
59
|
- **Live** — バックテストとライブ実績の期間整合 diff
|
|
60
60
|
- **Ideas** — 探索アイデアの一覧(ステータス・タグフィルタ)
|
|
61
|
+
- **Maintenance** — 孤児バックテスト結果(strategies.db に定義の無い実行結果)の一覧・選択削除
|
|
61
62
|
- **テーマ切替** — ダーク/ライトモード、日英バイリンガル UI
|
|
62
63
|
- **エクスポート** — CSV / PNG エクスポート、SNS シェアカード(equity curve+主要指標入り OGP サイズ PNG)、URL 共有(Browse の selectedId / compareIds 同期)
|
|
63
64
|
|
|
@@ -18,12 +18,13 @@
|
|
|
18
18
|
|
|
19
19
|
## Features
|
|
20
20
|
|
|
21
|
-
- **Browse** — Strategy library with search (Symbol
|
|
21
|
+
- **Browse** — Strategy library with search (Symbol Coverage / Saved Views / Strategy Ledger)
|
|
22
22
|
- **Detail** — Equity / Drawdown / trade history with benchmark metrics (alpha / beta / IR / Correlation)
|
|
23
23
|
- **Compare** — Side-by-side metrics and correlation heatmap across strategies
|
|
24
24
|
- **Optimize** — Walk-Forward composite equity curves and Grid optimization results
|
|
25
25
|
- **Live** — Period-aligned diff between backtest and live execution
|
|
26
26
|
- **Ideas** — Exploration idea board with status / tag filters
|
|
27
|
+
- **Maintenance** — List and selectively delete orphan backtest results (results with no matching strategy definition in strategies.db)
|
|
27
28
|
- **Theme & i18n** — Dark/Light modes, English/Japanese UI toggle
|
|
28
29
|
- **Export & share** — CSV / PNG export, social share card (OGP-sized PNG with equity curve + headline metrics), URL-based state sharing for Browse
|
|
29
30
|
|
|
@@ -18,12 +18,13 @@
|
|
|
18
18
|
|
|
19
19
|
## 主な機能
|
|
20
20
|
|
|
21
|
-
- **Browse** — 戦略ライブラリの一覧と検索(Symbol
|
|
21
|
+
- **Browse** — 戦略ライブラリの一覧と検索(Symbol Coverage / Saved Views / Strategy Ledger)
|
|
22
22
|
- **Detail** — Equity / Drawdown / 取引履歴・ベンチマーク(alpha / beta / IR / Correlation)
|
|
23
23
|
- **Compare** — 複数戦略の指標比較と相関ヒートマップ
|
|
24
24
|
- **Optimize** — WFO 合成エクイティカーブ・Grid 最適化結果の可視化
|
|
25
25
|
- **Live** — バックテストとライブ実績の期間整合 diff
|
|
26
26
|
- **Ideas** — 探索アイデアの一覧(ステータス・タグフィルタ)
|
|
27
|
+
- **Maintenance** — 孤児バックテスト結果(strategies.db に定義の無い実行結果)の一覧・選択削除
|
|
27
28
|
- **テーマ切替** — ダーク/ライトモード、日英バイリンガル UI
|
|
28
29
|
- **エクスポート** — CSV / PNG エクスポート、SNS シェアカード(equity curve+主要指標入り OGP サイズ PNG)、URL 共有(Browse の selectedId / compareIds 同期)
|
|
29
30
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|