Files
evotraders/frontend/src/store/portfolioStore.js
cillin 0f1bc2bb39 feat(frontend): 添加 Zustand store 架构
- 创建 5 个领域 store:runtimeStore, marketStore, portfolioStore, agentStore, uiStore
- 更新 CLAUDE.md 记录架构改进
- Zustand 已安装但 stores 尚未在 App.jsx 中使用(渐进迁移)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 17:44:17 +08:00

39 lines
809 B
JavaScript

import { create } from 'zustand';
/**
* Portfolio Store - Portfolio data, holdings, trades, statistics
*/
export const usePortfolioStore = create((set) => ({
// Portfolio data
portfolioData: {
netValue: 10000,
pnl: 0,
equity: [],
baseline: [],
baseline_vw: [],
momentum: [],
strategies: [],
equity_return: 0,
baseline_return: 0,
baseline_vw_return: 0,
momentum_return: 0,
},
setPortfolioData: (portfolioData) => set({ portfolioData }),
// Holdings
holdings: [],
setHoldings: (holdings) => set({ holdings }),
// Trades
trades: [],
setTrades: (trades) => set({ trades }),
// Statistics
stats: null,
setStats: (stats) => set({ stats }),
// Leaderboard
leaderboard: [],
setLeaderboard: (leaderboard) => set({ leaderboard }),
}));