feat: cockpit
This commit is contained in:
@@ -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 }) =>
|
||||
|
||||
Reference in New Issue
Block a user