ruvnet / trader-portfolio
Optimize portfolio allocation using npx neural-trader mean-variance engine with risk constraints and rebalancing plan
Optimize portfolio allocation using neural-trader's portfolio engine.
Steps:
Ensure neural-trader is available:
npm ls neural-trader 2>/dev/null || npm install --ignore-scripts neural-traderLoad current portfolio:
mcp__plugin_ruflo-core_ruflo__memory_search({ query: "current portfolio holdings", namespace: "trading-portfolio" })Run portfolio optimization:
`bash
npx neural-trader --portfolio optimize --symbols AAPL,MSFT,GOOGL --target-return 0.10`
(--risk-targetis accepted as an alias of--target-return.) In 2.8.11 this returns EQUAL weights and a risk figure for them, with anotesaying the returns matrix is not wired; it does not optimise anything. For real mean-variance weights use/trader-portfolio-cg.--portfolio currentand--portfolio rebalancerun the same equal-weight demo and ignore the word after--portfolio.- Risk metrics:
--varand--correlationare not CLI flags. Use--risk assess --returns <series>(see/trader-risk) with returns you derived from real data. Use SONA for expected return prediction:
mcp__plugin_ruflo-core_ruflo__neural_predict({ input: "expected returns for [HOLDINGS] given current regime" })- Rebalancing plan: the CLI has no rebalance computation (see step 3). Derive it yourself from the weights
/trader-portfolio-cgreturns and the user's stated holdings: trades needed, current vs target weights, estimated costs. Present it as a proposal for the user to act on; this plugin places no orders. Search for similar allocations in history:
mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search({ query: "optimized portfolio Sharpe > 1", namespace: "trading-portfolio" })Store optimized allocation:
mcp__plugin_ruflo-core_ruflo__memory_store({ key: "portfolio-optimal-TIMESTAMP", value: "ALLOCATION_JSON", namespace: "trading-portfolio" })