{"window":{"key":"all","requested_start":null,"requested_end":null,"observed_start":"2026-05-17T15:13:12+00:00","observed_end":"2026-08-15T23:00:37+00:00","days":90.32},"basis":"recorded","trades":1156,"rungs":[{"level":1,"trades_reaching":{"value":421,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp >= 1","methodology_version":"1.0.0"},"reach_rate_pct":{"value":36.4187,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades with last_hit_tp >= 1 / all trades * 100","methodology_version":"1.0.0"},"conversion_from_previous_rung_pct":{"value":36.4187,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades reaching TP1 / all trades * 100","methodology_version":"1.0.0"},"stopped_at_this_rung":{"value":224,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp = 1 (this was the highest rung filled)","methodology_version":"1.0.0"},"avg_final_roi_when_stopped_here_pct":{"value":13.3475,"unit":"percent_of_margin","denominator":224,"denominator_label":"trades whose highest filled rung was TP1","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean recorded leveraged ROI at close over trades with last_hit_tp = 1","methodology_version":"1.0.0"},"avg_roi_at_fill_pct":{"value":20.7002,"unit":"percent_of_margin","denominator":421,"denominator_label":"TP_HIT events at level 1 carrying an ROI","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean position_events.roi_percent over TP_HIT rows with tp_level = 1 — the unrealised ROI at the moment the rung was hit, NOT the ROI at close","methodology_version":"1.0.0"},"median_minutes_to_fill":{"value":206.2667,"unit":"minutes","denominator":421,"denominator_label":"TP1 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"median of (TP_HIT occurred_at - COALESCE(activated_at, created_at)) in minutes","methodology_version":"1.0.0"},"p90_minutes_to_fill":{"value":907.4833,"unit":"minutes","denominator":421,"denominator_label":"TP1 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"nearest-rank 90th percentile of minutes from position start to the TP_HIT event","methodology_version":"1.0.0"},"announced_replies":{"value":335,"unit":"count","denominator":421,"denominator_label":"TP_HIT events at level 1","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE position_events.telegram_reply_id IS NOT NULL — the fill was posted as a reply to the original signal message in the channel","methodology_version":"1.0.0"},"cross_check":{"from_positions_last_hit_tp":421,"from_position_events_tp_hit":421,"agree":true,"note":"Two independent tables. positions.last_hit_tp is the monitor's high-water mark on the position row; position_events holds one TP_HIT row per rung. If these ever disagree, one of them is wrong and neither number should be trusted until it is explained."}},{"level":2,"trades_reaching":{"value":197,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp >= 2","methodology_version":"1.0.0"},"reach_rate_pct":{"value":17.0415,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades with last_hit_tp >= 2 / all trades * 100","methodology_version":"1.0.0"},"conversion_from_previous_rung_pct":{"value":46.7933,"unit":"percent","denominator":421,"denominator_label":"trades that reached TP1","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades reaching TP2 / trades reaching TP1 * 100","methodology_version":"1.0.0"},"stopped_at_this_rung":{"value":108,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp = 2 (this was the highest rung filled)","methodology_version":"1.0.0"},"avg_final_roi_when_stopped_here_pct":{"value":20.5595,"unit":"percent_of_margin","denominator":108,"denominator_label":"trades whose highest filled rung was TP2","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean recorded leveraged ROI at close over trades with last_hit_tp = 2","methodology_version":"1.0.0"},"avg_roi_at_fill_pct":{"value":29.0401,"unit":"percent_of_margin","denominator":197,"denominator_label":"TP_HIT events at level 2 carrying an ROI","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean position_events.roi_percent over TP_HIT rows with tp_level = 2 — the unrealised ROI at the moment the rung was hit, NOT the ROI at close","methodology_version":"1.0.0"},"median_minutes_to_fill":{"value":216.9,"unit":"minutes","denominator":197,"denominator_label":"TP2 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"median of (TP_HIT occurred_at - COALESCE(activated_at, created_at)) in minutes","methodology_version":"1.0.0"},"p90_minutes_to_fill":{"value":892.2167,"unit":"minutes","denominator":197,"denominator_label":"TP2 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"nearest-rank 90th percentile of minutes from position start to the TP_HIT event","methodology_version":"1.0.0"},"announced_replies":{"value":167,"unit":"count","denominator":197,"denominator_label":"TP_HIT events at level 2","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE position_events.telegram_reply_id IS NOT NULL — the fill was posted as a reply to the original signal message in the channel","methodology_version":"1.0.0"},"cross_check":{"from_positions_last_hit_tp":197,"from_position_events_tp_hit":197,"agree":true,"note":"Two independent tables. positions.last_hit_tp is the monitor's high-water mark on the position row; position_events holds one TP_HIT row per rung. If these ever disagree, one of them is wrong and neither number should be trusted until it is explained."}},{"level":3,"trades_reaching":{"value":89,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp >= 3","methodology_version":"1.0.0"},"reach_rate_pct":{"value":7.699,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades with last_hit_tp >= 3 / all trades * 100","methodology_version":"1.0.0"},"conversion_from_previous_rung_pct":{"value":45.1777,"unit":"percent","denominator":197,"denominator_label":"trades that reached TP2","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades reaching TP3 / trades reaching TP2 * 100","methodology_version":"1.0.0"},"stopped_at_this_rung":{"value":37,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp = 3 (this was the highest rung filled)","methodology_version":"1.0.0"},"avg_final_roi_when_stopped_here_pct":{"value":25.8835,"unit":"percent_of_margin","denominator":37,"denominator_label":"trades whose highest filled rung was TP3","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean recorded leveraged ROI at close over trades with last_hit_tp = 3","methodology_version":"1.0.0"},"avg_roi_at_fill_pct":{"value":36.3779,"unit":"percent_of_margin","denominator":89,"denominator_label":"TP_HIT events at level 3 carrying an ROI","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean position_events.roi_percent over TP_HIT rows with tp_level = 3 — the unrealised ROI at the moment the rung was hit, NOT the ROI at close","methodology_version":"1.0.0"},"median_minutes_to_fill":{"value":216.9833,"unit":"minutes","denominator":89,"denominator_label":"TP3 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"median of (TP_HIT occurred_at - COALESCE(activated_at, created_at)) in minutes","methodology_version":"1.0.0"},"p90_minutes_to_fill":{"value":801.0,"unit":"minutes","denominator":89,"denominator_label":"TP3 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"nearest-rank 90th percentile of minutes from position start to the TP_HIT event","methodology_version":"1.0.0"},"announced_replies":{"value":79,"unit":"count","denominator":89,"denominator_label":"TP_HIT events at level 3","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE position_events.telegram_reply_id IS NOT NULL — the fill was posted as a reply to the original signal message in the channel","methodology_version":"1.0.0"},"cross_check":{"from_positions_last_hit_tp":89,"from_position_events_tp_hit":89,"agree":true,"note":"Two independent tables. positions.last_hit_tp is the monitor's high-water mark on the position row; position_events holds one TP_HIT row per rung. If these ever disagree, one of them is wrong and neither number should be trusted until it is explained."}},{"level":4,"trades_reaching":{"value":52,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp >= 4","methodology_version":"1.0.0"},"reach_rate_pct":{"value":4.4983,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades with last_hit_tp >= 4 / all trades * 100","methodology_version":"1.0.0"},"conversion_from_previous_rung_pct":{"value":58.427,"unit":"percent","denominator":89,"denominator_label":"trades that reached TP3","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades reaching TP4 / trades reaching TP3 * 100","methodology_version":"1.0.0"},"stopped_at_this_rung":{"value":14,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp = 4 (this was the highest rung filled)","methodology_version":"1.0.0"},"avg_final_roi_when_stopped_here_pct":{"value":41.3534,"unit":"percent_of_margin","denominator":14,"denominator_label":"trades whose highest filled rung was TP4","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean recorded leveraged ROI at close over trades with last_hit_tp = 4","methodology_version":"1.0.0"},"avg_roi_at_fill_pct":{"value":42.7792,"unit":"percent_of_margin","denominator":52,"denominator_label":"TP_HIT events at level 4 carrying an ROI","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean position_events.roi_percent over TP_HIT rows with tp_level = 4 — the unrealised ROI at the moment the rung was hit, NOT the ROI at close","methodology_version":"1.0.0"},"median_minutes_to_fill":{"value":209.3833,"unit":"minutes","denominator":52,"denominator_label":"TP4 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"median of (TP_HIT occurred_at - COALESCE(activated_at, created_at)) in minutes","methodology_version":"1.0.0"},"p90_minutes_to_fill":{"value":1096.3667,"unit":"minutes","denominator":52,"denominator_label":"TP4 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"nearest-rank 90th percentile of minutes from position start to the TP_HIT event","methodology_version":"1.0.0"},"announced_replies":{"value":48,"unit":"count","denominator":52,"denominator_label":"TP_HIT events at level 4","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE position_events.telegram_reply_id IS NOT NULL — the fill was posted as a reply to the original signal message in the channel","methodology_version":"1.0.0"},"cross_check":{"from_positions_last_hit_tp":52,"from_position_events_tp_hit":52,"agree":true,"note":"Two independent tables. positions.last_hit_tp is the monitor's high-water mark on the position row; position_events holds one TP_HIT row per rung. If these ever disagree, one of them is wrong and neither number should be trusted until it is explained."}},{"level":5,"trades_reaching":{"value":38,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp >= 5","methodology_version":"1.0.0"},"reach_rate_pct":{"value":3.2872,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades with last_hit_tp >= 5 / all trades * 100","methodology_version":"1.0.0"},"conversion_from_previous_rung_pct":{"value":73.0769,"unit":"percent","denominator":52,"denominator_label":"trades that reached TP4","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades reaching TP5 / trades reaching TP4 * 100","methodology_version":"1.0.0"},"stopped_at_this_rung":{"value":17,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp = 5 (this was the highest rung filled)","methodology_version":"1.0.0"},"avg_final_roi_when_stopped_here_pct":{"value":36.8625,"unit":"percent_of_margin","denominator":17,"denominator_label":"trades whose highest filled rung was TP5","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean recorded leveraged ROI at close over trades with last_hit_tp = 5","methodology_version":"1.0.0"},"avg_roi_at_fill_pct":{"value":46.9747,"unit":"percent_of_margin","denominator":38,"denominator_label":"TP_HIT events at level 5 carrying an ROI","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean position_events.roi_percent over TP_HIT rows with tp_level = 5 — the unrealised ROI at the moment the rung was hit, NOT the ROI at close","methodology_version":"1.0.0"},"median_minutes_to_fill":{"value":175.55,"unit":"minutes","denominator":38,"denominator_label":"TP5 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"median of (TP_HIT occurred_at - COALESCE(activated_at, created_at)) in minutes","methodology_version":"1.0.0"},"p90_minutes_to_fill":{"value":930.85,"unit":"minutes","denominator":38,"denominator_label":"TP5 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"nearest-rank 90th percentile of minutes from position start to the TP_HIT event","methodology_version":"1.0.0"},"announced_replies":{"value":36,"unit":"count","denominator":38,"denominator_label":"TP_HIT events at level 5","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE position_events.telegram_reply_id IS NOT NULL — the fill was posted as a reply to the original signal message in the channel","methodology_version":"1.0.0"},"cross_check":{"from_positions_last_hit_tp":38,"from_position_events_tp_hit":38,"agree":true,"note":"Two independent tables. positions.last_hit_tp is the monitor's high-water mark on the position row; position_events holds one TP_HIT row per rung. If these ever disagree, one of them is wrong and neither number should be trusted until it is explained."}},{"level":6,"trades_reaching":{"value":21,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp >= 6","methodology_version":"1.0.0"},"reach_rate_pct":{"value":1.8166,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades with last_hit_tp >= 6 / all trades * 100","methodology_version":"1.0.0"},"conversion_from_previous_rung_pct":{"value":55.2632,"unit":"percent","denominator":38,"denominator_label":"trades that reached TP5","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades reaching TP6 / trades reaching TP5 * 100","methodology_version":"1.0.0"},"stopped_at_this_rung":{"value":21,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp = 6 (this was the highest rung filled)","methodology_version":"1.0.0"},"avg_final_roi_when_stopped_here_pct":{"value":47.6228,"unit":"percent_of_margin","denominator":21,"denominator_label":"trades whose highest filled rung was TP6","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean recorded leveraged ROI at close over trades with last_hit_tp = 6","methodology_version":"1.0.0"},"avg_roi_at_fill_pct":{"value":49.5933,"unit":"percent_of_margin","denominator":21,"denominator_label":"TP_HIT events at level 6 carrying an ROI","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean position_events.roi_percent over TP_HIT rows with tp_level = 6 — the unrealised ROI at the moment the rung was hit, NOT the ROI at close","methodology_version":"1.0.0"},"median_minutes_to_fill":{"value":117.9,"unit":"minutes","denominator":21,"denominator_label":"TP6 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"median of (TP_HIT occurred_at - COALESCE(activated_at, created_at)) in minutes","methodology_version":"1.0.0"},"p90_minutes_to_fill":{"value":929.1667,"unit":"minutes","denominator":21,"denominator_label":"TP6 fills with both an event time and a position start","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"nearest-rank 90th percentile of minutes from position start to the TP_HIT event","methodology_version":"1.0.0"},"announced_replies":{"value":19,"unit":"count","denominator":21,"denominator_label":"TP_HIT events at level 6","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE position_events.telegram_reply_id IS NOT NULL — the fill was posted as a reply to the original signal message in the channel","methodology_version":"1.0.0"},"cross_check":{"from_positions_last_hit_tp":21,"from_position_events_tp_hit":21,"agree":true,"note":"Two independent tables. positions.last_hit_tp is the monitor's high-water mark on the position row; position_events holds one TP_HIT row per rung. If these ever disagree, one of them is wrong and neither number should be trusted until it is explained."}}],"no_tp_reached":{"trades":{"value":735,"unit":"count","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"COUNT(*) WHERE positions.last_hit_tp = 0 — closed without filling any rung","methodology_version":"1.0.0"},"share_pct":{"value":63.5813,"unit":"percent","denominator":1156,"denominator_label":"closed gradeable trades in window","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"trades with last_hit_tp = 0 / all trades * 100","methodology_version":"1.0.0"},"avg_roi_pct":{"value":-11.3158,"unit":"percent_of_margin","denominator":735,"denominator_label":"trades that filled no rung","window_start":"2026-05-17T15:13:12+00:00","window_end":"2026-08-15T23:00:37+00:00","method":"mean recorded leveraged ROI of trades with last_hit_tp = 0","methodology_version":"1.0.0"}},"tp_hit_events_in_window":818,"field_notes":{"avg_roi_at_fill_pct":"The ROI showing on the position when the rung was hit. It is NOT what the trade finally booked: after TP1 the stop moves and the remainder can still lose. Compare it with avg_final_roi_when_stopped_here_pct on the same rung.","reach_rate_pct":"Denominator is every closed gradeable trade in the window, losers included. This is the honest funnel, not a win-rate restated.","partial_closes":"Reaching a rung is not the same as banking it. Realised partial fills live in partial_close_log and are published per trade at /trade/{code}; only trades closed after 2026-07-30 have them, which is why basis=blended exists."},"provenance":{"methodology_version":"1.0.0","methodology_url":"/api/v1/public/performance/methodology","source":"positions + signal_quality_metrics + partial_close_log + position_events","row_counts":{"positions_table_rows":1495,"closed_gradeable_trades":1156,"excluded_housekeeping_rows":339,"trades_with_telegram_message":905,"trades_with_observed_exit_price":1084,"trades_with_nonreconciling_exit_price":760,"trades_with_partial_fills":87,"trades_without_recorded_leverage":0,"tp_hit_events":818,"distinct_symbols":93,"event_log_rows":14573,"event_log_rows_after_position_close":31,"event_log_rows_before_position_start":0,"positions_with_event_log_drift":28},"data_loaded_at":"2026-08-16T03:17:09.519091+00:00","cache_ttl_seconds":60.0,"snapshot_age_header":"X-Snapshot-Age-Seconds","consistency":"Every number on this surface is computed by one module, so no two endpoints can apply different definitions of a win, a window or a universe. The data SNAPSHOT is cached per worker process for 60 seconds and the API runs several workers, so two endpoints can be answered from snapshots up to one TTL apart and differ by whatever closed in between. Compare provenance.data_loaded_at on the two responses before comparing their numbers — that field exists so the skew is measurable rather than deniable.","timestamp_policy":"Every timestamp published by this module is ISO-8601 in UTC (+00:00). Source columns are TEXT in mixed formats: positions.created_at/activated_at/closed_at and partial_close_log.executed_at always carry an explicit UTC offset; position_events.occurred_at is written naive in Asia/Tehran local time by app.trading.utils.now_sql_naive(). A naive value is therefore interpreted as Asia/Tehran and converted to UTC. There is exactly one conversion function, so no two timestamps in one payload can be in different zones.","money_figures_available":false,"money_note":"positions.pnl_usdt, positions.quantity and positions.exit_price are 100% NULL. Absolute profit in USDT is not computable from this dataset and is never published."}}