feat: cockpit

This commit is contained in:
OpenSquared
2026-07-23 19:29:32 +02:00
parent d3dc85fee9
commit 6eba6ce5f8
5 changed files with 268 additions and 42 deletions

View File

@@ -140,6 +140,14 @@ export const useAddWatchlistInstrument = () => {
})
}
export const useWatchlistHistory = (ticker: string, period: string) =>
useQuery({
queryKey: ['instruments-watchlist-history', ticker, period],
queryFn: () => api.get(`/watchlist/history/${encodeURIComponent(ticker)}`, { params: { period } }).then(r => r.data),
enabled: !!ticker,
staleTime: 5 * 60_000,
})
export const useRemoveWatchlistInstrument = () => {
const qc = useQueryClient()
return useMutation({
@@ -745,6 +753,16 @@ export const useSimPortfolioRisk = () =>
staleTime: 30_000,
})
// 5-axis risk radar (Concentration/Volatility/Correlation/Exposure/Drawdown) — heavier
// than useSimPortfolioRisk above (live per-position vol + a correlation matrix), kept
// as its own endpoint/query so it isn't refetched as eagerly.
export const usePortfolioRiskRadar = () =>
useQuery({
queryKey: ['journal-portfolio-risk-radar'],
queryFn: () => api.get('/journal/portfolio-risk-radar').then(r => r.data),
staleTime: 5 * 60_000,
})
export const useTradeCheck = () =>
useMutation({
mutationFn: (body: { underlying: string; strategy: string; asset_class: string }) =>