- 创建 5 个领域 store:runtimeStore, marketStore, portfolioStore, agentStore, uiStore - 更新 CLAUDE.md 记录架构改进 - Zustand 已安装但 stores 尚未在 App.jsx 中使用(渐进迁移) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
39 lines
809 B
JavaScript
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 }),
|
|
}));
|