QRP TERMINAL v0.4.2 · phase-1 · vn-quant-research
HOSE OPEN · XCRY 24/7
--:--:-- ICT
VNI 1,898.37 +0.84%
VN30F1M 2,039.0 -0.31%
BTC 71,240 +1.92%
FEEDS 14/14 JOBS 3 ALERTS 2
EN Eric Nguyen T2
F1 DASH
F2 DATA
F3 BTEST
F4 SIGNAL
F5 WIKI
F6 TGRAM LIVE
F7 TIERS
F8 AUDIT
F9 HELP
QRP F1 DASH overview · phase-1-month-3 · all systems nominal
DATASETS
42
+3 7d
SIGNALS REG.
87
+12 30d
BACKTESTS 30D
1,284
+18.4%
LIVE MODELS
7
+1
QC PASS RATE
99.2%
+0.4%
WIKI COVERAGE
68%
live: 6/7
PORT SHARPE 90D
1.84
+0.21
AUDIT FLAGS 24H
2
need review
PORTFOLIO EQUITY · LIVE vs BACKTEST 90D · 4 strategies
DIVERGENCE: +0.3σ (within tolerance) VN30F1M · VNI-LONG · VN100-PORT · VN30-PORT last sync: 14:32:08 ICT
ALERTS 2 unread
14:11 QC MSB close-px divergence SSI vs DNSE > 0.05% (2026-05-14) data-eng
02:47 FLAG off-hours signal lib read by t1.huyen — 4 reads security
yest DOC btc-funding-fade interview overdue (assignee: c.le) platform-po
2d RISK walk-forward decay vn30f-mom-v2 faster than expected quant-lead
3d OK binance funding ingestion: 720/720 hourly bars data-eng
TEAM ACTIVITY · LAST 24H
TIMEUSERTIERACTIONOBJECT
14:31eric.nguyenT2backtest.runvn30f-mom-v2 · spec@v1.4
14:08c.leT3signal.approvevnindex-breadth-osc → production
13:55huyen.phamT1data.queryvn30 daily 2024-01..2026-05
13:42tan.doT2signal.createbtc-perp-basis-z (dev)
13:11eric.nguyenT2tearsheet.exportvn100-port-rebal · run_id 8a9c
12:55khoa.tranT2wiki.interviewmodel: vnindex-long · 90 min
12:14data-eng-botSVCdata.ingesthose intraday 1m · 248k rows
11:48huyen.phamT1signal.readvn30f-mom-v2 (name+desc only)
11:02c.leT3access.granttan.do : T1→T2
10:30eric.nguyenT2spec.commitvn30f-mom-v2 spec → v1.4
PHASE-1 ROADMAP · MONTH 3 OF 6 on track
P1 · Unified Data LayerDONEM1–M2
acceptance criteria: 5/5 ✓ · ingest pipelines: 14 · datasets: 42
P2 · Canonical BacktesterIN PROGRESSM2–M4
spec v1.4 · cost models VN+crypto done · 1/3 strategies migrated
P2.5 · Wiki / Doc BackfillIN PROGRESSM2–M5
live: 6/7 · paused: 2/5 · retired: 0/4 · 11 interviews done
P3 · Signal LibrarySCHEMA DESIGNM4–M6
schema rev3 · tier ACL designed · ETA M5 register first batch
PHASE 2 (deferred): P4 TG-PROVP5 PEER-REVIEWP6 LIVE-VS-BT
P1 · UNIFIED DATA LAYER immutable parquet · point-in-time integrity · byte-identical replayowner: po-tech / data-eng
DATASETS CATALOG 42 entries · last manifest 13:55:02
NAMEMARKETSCHEMAFREQCOVERAGEROWSLAST INGESTQCPITOWNER
vn.equities.bars.dailyVNv31D2010-01-04 → 2026-05-1414,802,31805:12PASSPITdata-eng
vn.equities.bars.intradayVNv21m2022-01-04 → 2026-05-143,940,128,44215:01PASSPITdata-eng
vn.equities.fundamentalsVNv4Q2010Q1 → 2026Q1128,40202:00PASSPIT/AS-REPdata-eng
vn.equities.corp_actionsVNv2EVENT2010 → live28,94104:30PASSPITdata-eng
vn.equities.foreign_roomVNv11D2015 → live2,408,11204:45WARNPITdata-eng
vn.equities.ceiling_floorVNv11D2010 → live14,792,00005:18PASSPITdata-eng
vn.indices.membershipVNv2EVENT2012 → live41806:00PASSPIT/SURV-FREEquant-po
vn.derivs.vn30f.barsVNv11m2017 → live241,890,20015:01PASSPITdata-eng
crypto.spot.binanceXCRYv31m2018 → live12,408,109,22114:59PASSPITdata-eng
crypto.spot.okxXCRYv31m2019 → live9,108,228,00114:59PASSPITdata-eng
crypto.spot.bybitXCRYv21m2020 → live7,418,022,91014:59WARNPITdata-eng
crypto.perp.fundingXCRYv28h2019 → live7,802,18014:00PASSPITdata-eng
ref.calendar.vnVNv1STATIC2010 → 20307,305PASSSTATICplatform-po
fx.usd.vndFXv11D2010 → live5,84006:00PASSPITdata-eng
PYTHON CLIENT · qrp.data read-only · identity-aware
All queries route through identity-aware platform API. No raw DB credentials issued.
# pip install qrp-client==0.4.2
from qrp import data, auth

auth.login()  # SSO via Keycloak; token stored in ~/.qrp/

# Point-in-time query — survivorship-bias free, look-ahead free
df = data.bars(
    universe="vn30",
    fields=["open","close","volume","foreign_room"],
    start="2024-01-01", end="2026-05-14",
    freq="1d",
    asof="2026-05-14",         # PIT replay: data as known on this date
    snapshot_id="snap-2026-05-14T05:18Z",
)

# Two researchers running this exact call get byte-identical results.
# Query logged: user=eric.nguyen dataset=vn.equities.bars.daily rows=14802

# Crypto cross-venue with funding
btc = data.bars(symbols=["BTCUSDT"],
                venues=["binance","okx","bybit"],
                fields=["close","funding_8h"], freq="1h")

# Source reconciliation — both raw values + canonical resolution
recon = data.reconciliation(symbol="MSB", date="2026-05-14")
# → {ssi: 12450.0, dnse: 12455.0, canonical: 12450.0, rule: "prefer_ssi"}
QC DASHBOARD · LAST 7 DAYS nightly checks · alert before research day
05-08
05-09
05-10
05-11
05-12
05-13
05-14
missing data
!
outliers
2
schema drift
corp actions
foreign room
2
xchg divergence
!
funding gap
checksum
Pass rate 7d: 96.4% · open warnings: 5 · errors: 0
SOURCE RECONCILIATION · 2026-05-14 divergences flagged for review
SYMBOLFIELDSOURCE AVALUE ASOURCE BVALUE BΔ BPSRULECANONICALSTATUS
MSBcloseSSI12,450.00DNSE12,455.00+4.0prefer_ssi12,450.00REVIEW
VJCcloseSSI98,200.00VND98,200.000.0prefer_ssi98,200.00OK
VHMforeign_roomHOSE412,082,118SSI412,080,118±0.0prefer_hose412,082,118OK
BTCUSDTclose.1m@14:30BINANCE71,238.50OKX71,251.00+1.7vwap_3venue71,243.10OK
SOLUSDTfundingBINANCE+0.0102%BYBIT+0.0118%+15.6%venue_nativevenue_nativeOK
FPTdiv_announceHOSE2026-05-21FIINPRO2026-05-22dateprefer_hose2026-05-21REVIEW
P2 · CANONICAL BACKTESTER one engine · same code path live + replay · reproducible from run_idspec schema v1.4 · cost models VN+XCRY
STRATEGY SPEC · vn30f-mom-v2.yaml draft · spec_schema v1.4
strategy:
  name: vn30f-mom-v2
  market: vn-derivatives
  version: 1.4.0
  author: eric.nguyen
  spec_schema: 1.4

universe:
  instrument: VN30F1M          # nearest-month future
  roll: 5d_before_expiry

signals:             # refs into P3 signal library; pinned by version
  - id: vn30.momo.20d      version: 2.1.0
  - id: vn30.breadth.osc   version: 1.0.4
  - id: vnindex.regime     version: 1.2.0

entry:
  long_when:  "momo_20d > 0 AND breadth_osc > 0.55 AND regime != 'bear'"
  short_when: "momo_20d < 0 AND breadth_osc < 0.45"

exit:
  stop_loss: 2.0%
  take_profit: 5.5%
  time_stop: 10d

sizing:
  method: vol_target
  target_vol: 12%
  leverage_cap: 2.0

costs:                  # VN derivatives realistic cost model
  commission_bp: 0.4
  tax_bp: 0.3
  slippage_model: vwap_pct_adv
  slippage_pct_adv: 0.05

capital:
  initial: 5e9 VND
  capacity_check: true     # warn if size > 0.5% ADV

backtest:
  start: 2018-01-01
  end:   2026-04-30
  data_snapshot_id: snap-2026-05-01T05:00Z
  walk_forward: true
  oos_split: 0.3
cluster: 8 workers · queue: 3
RECENT RUNS reproducible · run_id resolves to (git_sha + spec + snapshot)
RUN_IDSTRATEGYUSERSHARPECAGRMAX DDSNAPSHOTSTATUS
8a9c3f12vn30f-mom-v2 @ 1.4eric.nguyen1.84+22.4%-11.8%snap-05-01DONE
8a9c2e88vn30f-mom-v2 @ 1.3eric.nguyen1.62+19.1%-13.2%snap-05-01DONE
8a9c1d04vn100-port-rebaltan.do1.41+17.8%-9.4%snap-05-01DONE
8a9c0a91vnindex-longeric.nguyen1.28+15.2%-14.0%snap-05-01DONE
8a9bf208btc-funding-fadec.le2.04+38.1%-18.7%snap-04-30DONE
8a9be7c1vn30-port-defensivekhoa.tran0.94+9.8%-7.2%snap-04-30DONE
8a9bd520vn30f-mom-v2 @ 1.2eric.nguyensnap-04-29FAIL
8a9bc91eeth-basis-spreadtan.do1.71+24.0%-12.1%snap-04-29DONE
TEAR SHEET · run_id 8a9c3f12 · vn30f-mom-v2 @ 1.4 watermarked: eric.nguyen · 2026-05-15 · export logged
SHARPE
1.84
vs bench 0.71
SORTINO
2.41
+0.57 vs bench
CAGR
22.4%
+13.7pp vs VN30TR
MAX DD
-11.8%
duration: 47 days
HIT RATE
58.2%
n=412 trades
PROFIT FACTOR
1.94
avg win 2.1× avg loss
VOLATILITY
12.1%
target 12%
DOWN DEV
8.4%
MAR=0
EQUITY CURVE · vs VN30 TR
DRAWDOWN · UNDERWATER PLOT
TAIL METRICS
VaR 95% (1d)-1.18%parametric
VaR 99% (1d)-1.92%parametric
CVaR 95% (1d)-1.71%expected shortfall
Skew+0.18positive tail
Excess kurtosis2.84fat-tailed
Worst day-3.41%2022-05-12
Worst week-6.72%2022-W19
Calmar1.90cagr / |maxdd|
FACTOR EXPOSURES rolling 90d β
OPERATIONAL
Annual turnover412%
Avg holding period6.4 days
Capacity estimate~80B VND
Cost drag · commission-1.8%/yr
Cost drag · tax-1.4%/yr
Cost drag · slippage-2.2%/yr
Total cost drag-5.4%/yr
REGIME DECOMPOSITION bull / bear / sideways
REGIMEDAYSSHARPECAGRHIT
BULL8122.42+34.1%62%
SIDEWAYS9480.84+8.4%52%
BEAR4211.62+18.7%59%
All regimes positive — passes robustness gate.
WALK-FORWARD expanding window · 6m oos
PARAMETER SENSITIVITY heatmap · sharpe
momentum lookback × breadth threshold · plateau check
REPRODUCIBILITY MANIFEST
run_id:           8a9c3f12-1f4d-4a02-9c41-aa018d
git_sha:          a1b2c3d4e5f6789012345678901234567890abcd
spec_hash:        sha256:9f8a02...
spec_path:        strategies/vn30f-mom-v2/spec.yaml@v1.4.0
data_snapshot_id: snap-2026-05-01T05:00:00Z
image:            qrp/backtester:0.4.2-py3.11
started_at:       2026-05-15T14:31:08Z
finished_at:      2026-05-15T14:33:42Z
walltime_sec:     154
workers:          8
determinism:      byte-identical replay verified ✓
# Re-run anytime: qrp bt replay 8a9c3f12 → identical bytes
P3 · SIGNAL LIBRARY tier-aware · same code path live + backtestyour tier: T2 · viewing 87/87 entries
CATALOG 87 signals · 14 production · 22 staging · 51 dev/retired
FILTER: PROD ✓STAGE ✓DEV ✓RETIRED | VN ✓XCRY ✓ | MOMENTUMVALUEQUALITYFLOWVOLFUNDINGREGIME
SIGNAL IDFAMILYMARKETVERSTATUSAUTHORUSED BYDECAY (BARS→0.5α)MAX |ρ|UPDATED
vn30.momo.20dmomentumVN2.1.0PRODeric.nguyen3 strats280.422026-04-22
vn30.breadth.oscbreadthVN1.0.4PRODc.le2 strats140.312026-03-18
vnindex.regimeregimeVN1.2.0PRODc.le5 strats620.182026-02-04
vn100.qual.compositequalityVN3.0.1PRODkhoa.tran2 strats2200.272026-01-30
vn.flow.foreign.5dflowVN1.1.2PRODtan.do2 strats90.382026-04-08
vn.value.ev_ebitda.qczvalueVN2.2.0PRODkhoa.tran1 strat4100.222026-01-12
btc.funding.zscore.8hfundingXCRY1.4.0PRODc.le1 strat120.462026-04-29
btc.basis.perp_spotbasisXCRY1.0.2STAGEtan.dostaging70.512026-05-02
eth.depth.imbalance.1mmicrostructureXCRY0.3.1DEVtan.doresearch20.612026-05-11
vn.macro.ndr.curvemacroVN0.1.0DEVkhoa.tranresearch2026-05-09
vn.flow.proprietary.XflowVNRETIREDc.lenone2024-09-12
SIGNAL DETAIL · vn30.momo.20d @ 2.1.0 PROD
family: momentum
market: VN
author: eric.nguyen
created: 2024-08-12
version: 2.1.0 (7 versions)
status: PROD
FORMULA · pseudocode [same code path live+backtest]
# vn30.momo.20d @ 2.1.0 — 20-day price momentum, vol-normalized
def compute(bars: DataFrame) -> Series:
    px = bars["close"].adjust("corp_actions")   # PIT-adjusted
    ret_20 = px.pct_change(20)
    vol_20 = bars["close"].pct_change().rolling(20).std()
    return (ret_20 / (vol_20 * math.sqrt(20))).clip(-3, 3)
DEPENDENCIES
  • vn.equities.bars.daily v3
  • vn.equities.corp_actions v2
  • vn.indices.membership v2
DECAY · ALPHA HALF-LIFE
half-life ≈ 28 bars · re-fit cadence: monthly
CORRELATION · vn30.momo.20d vs PROD library
tier-filtered · only signals you may read shown
LINEAGE · who uses this signal
  • vn30f-mom-v2 @ 1.4 · PROD · author eric.nguyen
    • telegram channel: @vni_trading_bot
    • last fired: 2026-05-13 09:16 ICT
  • vnindex-long @ 2.0 · PROD · author eric.nguyen
  • vn30-port-defensive @ 0.9 · STAGE · author khoa.tran
ACCESS PREVIEW · WHAT EACH TIER SEES simulated for ranh giới T1 → T2
T1JUNIOR / INTERN
cannot enumerate library
vn30.momo.20dprice momentum (assigned)
████████████████ ██████
████████████████ ██████
████████████████ ██████
T2SENIOR RESEARCHER
full source + correlation + lineage
vn30.momo.20dfull formula + decay + ρ matrix
vn30.breadth.oscfull formula + decay + ρ matrix
btc.funding.zscorefull formula + decay + ρ matrix
vnindex.regimefull formula + decay + ρ matrix
T3PRINCIPAL
+ approve production · grant T2 · audit-everything
all of T2+ deployment approval
access.granttan.do : T1→T2 (today)
access.revokeimmediate effect
deal financialsSPV / Q-capital cap table
P2.5 · MODELS WIKI · DOC BACKFILL interview-driven · 60–90 min/model · template-locked11/16 interviews complete · 5 in queue
MODEL DOCUMENTATION · COMPLETION BY MODEL
MODELSTATUSMARKETOWNERHYPSIG-DEFDATA-DEPSRULESPERFFAILURE%
vnindex-longLIVEVNeric.nguyen
100%
vn30f-mom-v2LIVEVNeric.nguyen
90%
vn100-port-rebalLIVEVNtan.do
88%
vn30-port-defensiveLIVEVNkhoa.tran
70%
btc-funding-fadeLIVEXCRYc.le
38%
eth-basis-spreadSTAGEXCRYtan.do
78%
vn.flow.proprietary.XRETIREDVNc.le
14%
vn30-pairs-mean-revPAUSEDVNkhoa.tran
48%
INTERVIEW QUEUE

btc-funding-fade LIVE

interviewer: c.leoverdue 4d
HYP
SIG
DATA
RULES
PERF
FAIL
RETIR
OWN

vn30-pairs-mean-rev PAUSED

interviewer: eric.nguyenscheduled fri
HYP
SIG
DATA
RULES
PERF
FAIL
RETIR
OWN

vn.flow.proprietary.X RETIRED

interviewer: c.lememory faded — high value
HYP
SIG
DATA
RULES
PERF
FAIL
RETIR
OWN

vn30-event-earnings DEV

interviewer: eric.nguyennext week
HYP
SIG
DATA
RULES
PERF
FAIL
RETIR
OWN
WIKI ENTRY · vnindex-long complete · ready to migrate to P3
vnindex-long · LIVE · market VN · author eric.nguyen · created 2024-03-08 · interviewed 2026-04-22

Hypothesis & economic rationale. VNINDEX exhibits persistent positive drift in regimes characterized by (a) breadth above the 200-day median and (b) foreign-room buy pressure positive over 5 days. Drift compensates risk-takers when cross-sectional dispersion is low — a structural feature of a frontier market with concentrated institutional flow.

Signal definition. See vnindex.regime @ 1.2.0 + vn.flow.foreign.5d @ 1.1.2. Composite long-only score; threshold ≥ 0.55 enters, < 0.40 exits.

Data dependencies. vn.indices.membership v2 (PIT, survivorship-free), vn.equities.foreign_room v1, vn.equities.bars.daily v3.

Universe & filters. VNINDEX (cash equity proxy, no derivative). Excluded: index-add days T-1..T+1 to avoid mechanical noise.

Entry / exit / sizing. Long when composite ≥ 0.55. Exit on composite < 0.40 OR drawdown > 8% from local peak. Sizing: 100% notional, leverage cap 1.0x.

Historical performance. Sharpe 1.28 · CAGR +15.2% · MaxDD -14.0% (2018-01 → 2026-04 backtest, run_id 8a9c0a91).

Known failure modes. Underperforms in violent reversal weeks (e.g., 2022-W19 covid-rebound flush). Foreign-room signal stale during ETF rebalance windows.

Where it runs. Telegram channel @vni_trading_bot. Monitored by eric.nguyen; backstop reviewer c.le.

P4 (VISION) · TELEGRAM LIVE SIGNALS provenance: strategy_id · signal_version · data_snapshot · run_id@vni_trading_bot · 4 channels active
CHANNELS
LIVE@vni_vn30_futures412 subs
LIVE@vni_vn100_portfolio298 subs
LIVE@vni_long622 subs
LIVE@vni_vn30_portfolio204 subs
Every alert tagged with full provenance metadata. Live performance compared with backtest expectations daily (P6).
divergence vs backtest 30d: +0.3σ
alerts last 24h: 14
subscribers (cumulative): 1,536
FEED · LAST 24H
🤖 @vni_vn30_futures2026-05-13 09:16 ICT
🚀 Mô hình VN30 FUTURES - Tỷ lệ thắng: 60.87% 🟡 Khuyến nghị: Nắm giữ (LONG) 🕓 Ngày vào lệnh: 2026-05-06 - Giá: 2053.4 Ngày hiện tại: 2026-05-11 - Giá: 2039.0 💰 Lợi nhuận: -0.7%Đòn bẩy: 2x
strategy_id: vn30f-mom-v2 signal_ver: 2.1.0 data_snapshot: snap-2026-05-11T15:01Z run_id: 8a9c3f12 git_sha: a1b2c3d
🤖 @vni_vn100_portfolio2026-05-13 09:30 ICT
🚀 DANH MỤC CỔ PHIẾU VN100 🟡 NẮM GIỮ MSB 18.0% Giá mua 12,450 (2026-04-22) → 13,500 +8.43% VJC 18.0% → -5.85% VIC 18.0% → +15.19% VPI 18.0% → -3.99% VHM 18.0% → +30.30% STB 18.0% → +5.62% HPG 10.5% → -5.43% LPB 10.5% → +11.51% HDB 10.5% → +1.13% HCM 10.5% → +0.92% 💰 Lợi nhuận danh mục: 4.3%Đòn bẩy: 1.5x
strategy_id: vn100-port-rebal signal_ver: 3.0.1+1.1.2 data_snapshot: snap-2026-05-13T05:18Z run_id: 8a9c1d04 rebalance: weekly · mon-open
🤖 @vni_long2026-05-13 09:01 ICT
🚀 VNINDEX LONG - Tỷ lệ thắng: 78.57% Khuyến nghị: Nắm giữ (Long) Ngày vào: 2026-04-09 @ 1763.85 Hiện tại: 2026-05-13 @ 1898.37 💰 Lợi nhuận: +7.63%
strategy_id: vnindex-long signal_ver: vnindex.regime@1.2.0 + vn.flow.foreign.5d@1.1.2 data_snapshot: snap-2026-05-13T05:18Z run_id: 8a9c0a91
🤖 @vni_vn30_portfolio2026-05-12 09:30 ICT
🚀 DANH MỤC CỔ PHIẾU VN30 NẮM GIỮ SAB 37.5% -1.48% STB 37.5% +11.03% TCB 37.5% +0.45% VJC 37.5% -3.30% 💰 Lợi nhuận: 5.8%Đòn bẩy: 1.5x
strategy_id: vn30-port-defensive signal_ver: 0.9.2 data_snapshot: snap-2026-05-12T05:18Z run_id: 8a9be7c1 STAGE→PROD pending
ACCESS TIERS · IDENTITY & PERMISSIONS SSO via Keycloak · audit on every action · ranh giới T1→T2 quan trọng nhất
PERMISSION MATRIX
T0
investors · auditors
T1
junior · interns
T2
senior researchers
T3
eric · c · head-of-research
Aggregate performance & risk
Process integrity reports
P1 data layer · query API
Author research (sandboxed)✓ (sandbox)
Run assigned backtests
Signal library · enumeratelimited✓ (full)
Signal source code
Other researchers' in-flight work
Propose strategy → production✓ (proposes)
Approve production deployment
Grant/revoke T2 access
Infrastructure modification✓ (with audit)
Deal-level financials (SPV / cap table)
ACTIVE USERS
USERTIERSINCELAST
eric.nguyenT32024-01now
c.leT32024-0114:08
eric.nguyen (research)T22024-01now
tan.doT22024-09 (granted today)13:42
khoa.tranT22024-0412:55
huyen.phamT12026-0213:55
minh.vu (intern)T12026-04yest
auditor.kpmgT02026-033d ago
ENFORCEMENT POINTS
SSO via Keycloak — every action carries user identity
Platform API only — no raw DB credentials
Watermarked tear sheets + logged PDF exports
Tier-filtered library — T1 sees names+desc only
Immutable audit log — append-only, hash-chained
Anomaly detection — bulk / off-hours / cross-tier
Copy/paste guard — T1 notebooks (where feasible)
YOUR SESSION
user: eric.nguyen
tier: T2
groups: quant-research, vn-equities, vn-deriv
session id: a01f-7b22-...
expires: 2026-05-15 22:00 ICT
mfa: verified · webauthn
ip: 10.42.0.18 (office VPN)
to deploy: file PR → request T3 approval (eric/c)
AUDIT LOG append-only · hash-chained · no delete · alerts on anomaliesfilter: last 24h · 124 events · 2 FLAG · 1 ALERT
EVENTS
TIMESTAMPUSERTIERACTIONOBJECT / DETAILRESULT
2026-05-15 14:32:08Zeric.nguyenT2backtest.runvn30f-mom-v2 spec@1.4 → run 8a9c3f12OK
2026-05-15 14:11:02Zdata-eng-svcSVCqc.alertrecon divergence MSB SSI vs DNSE 0.04% (warn)ALERT
2026-05-15 14:08:14Zc.leT3signal.approvevnindex-breadth-osc → PRODOK
2026-05-15 13:55:41Zhuyen.phamT1data.queryvn30 daily 2024-01..2026-05 (rows=14802)OK
2026-05-15 13:42:18Ztan.doT2signal.createbtc-perp-basis-z (dev)OK
2026-05-15 13:11:55Zeric.nguyenT2tearsheet.exportvn100-port-rebal run 8a9c1d04 → PDF (watermarked)OK
2026-05-15 12:55:09Zkhoa.tranT2wiki.interviewmodel: vnindex-long · 90 minOK
2026-05-15 11:48:32Zhuyen.phamT1signal.readvn30f-mom-v2 (NAME+DESC ONLY · tier filter applied)OK
2026-05-15 11:02:14Zc.leT3access.granttan.do : T1 → T2 (justification: "promotion to senior")OK
2026-05-15 10:30:08Zeric.nguyenT2spec.commitvn30f-mom-v2 1.3 → 1.4 (diff: stop_loss 1.5→2.0)OK
2026-05-15 09:30:04Ztelegram-botSVCsignal.fire@vni_vn100_portfolio rebal alert · prov: 8a9c1d04OK
2026-05-15 09:16:00Ztelegram-botSVCsignal.fire@vni_vn30_futures HOLD LONG · prov: 8a9c3f12OK
2026-05-15 02:47:29Zhuyen.phamT1access.flagoff-hours signal lib read · 4 reads in 90sFLAG
2026-05-15 02:48:18Zsecurity-svcSVCaccess.reviewflagged event · escalated to c.le · session pausedFLAG
2026-05-15 05:18:00Zdata-eng-svcSVCdata.snapshotvn.equities.bars.daily snap-2026-05-15T05:18Z (checksum: 9a02..)OK
2026-05-15 05:12:08Zdata-eng-svcSVCdata.ingestvn.equities.bars.daily 1,628 rows from HOSEOK
2026-05-15 04:30:11Zdata-eng-svcSVCdata.ingestvn.equities.corp_actions 14 eventsOK
2026-05-14 23:14:08Zeric.nguyenT3loginSSO · webauthn verified · ip 10.42.0.18OK
2026-05-14 22:08:42Zauditor.kpmgT0report.exportaggregate-perf-q1-2026.pdf (watermark: kpmg-eng-A)OK
2026-05-14 18:00:09Ztan.doT2backtest.runeth-basis-spread spec@1.0 → run 8a9bc91eOK
EVENT TYPES · 24H
HASH CHAIN INTEGRITY
# last 5 entries — sha256(prev_hash || event)
block #14392 9f8a02bcd1...4f12 
block #14391 7c1882af40...a801 
block #14390 4d20cc88f2...7b04 
block #14389 2a91dd0be8...c1f9 
block #14388 81ff401cae...0042 
# integrity verified · 14,392 events · 0 gaps
SLA · RETENTION
retention: 7 years (regulatory)
storage: S3 Object Lock (WORM)
replication: 2 regions · cross-acct
rotation: none — append-only
access: read T3 + auditor (T0)
last verify: 2026-05-15 03:00 ✓
HELP · SHORTCUTS · COMMANDS
FUNCTION KEYS
F1 Dashboard
F2 P1 Data Layer
F3 P2 Backtester
F4 P3 Signal Library
F5 P2.5 Models Wiki
F6 P4 Telegram Live Signals
F7 Access Tiers
F8 Audit Log
F9 Help (this page)
COMMAND BAR
Press / to focus the command bar at the bottom. Examples:
> go data                  switch to P1 Data Layer
> bt vn30f-mom-v2          run backtest on this strategy
> sig vn30.momo.20d        open signal detail
> user tan.do              open user profile
> tier grant t2 tan.do     T3 only
> audit last 1h            filter audit log
> px VCB MSB FPT             ticker quotes
> help
PHASE-1 ACCEPTANCE CRITERIA · LIVE STATUS
PCRITERIONSTATUSNOTE
P1Researcher can query VN30 universe as of any past date — no surv. / look-ahead biasPASSPIT verified for 2,184 dates
P1Crypto OHLCV across ≥2 exchanges + fundingPASS3 venues · funding 8h
P1Two researchers same query → byte-identicalPASSverified hash on 14 datasets
P1QC dashboard 7-day visiblePASSF2 → QC panel
P1No ad-hoc CSV loads anywherePASSaudit policy enforced
P2One live strategy migrated within tolerance (Sharpe ±0.1, CAGR ±0.5%)PASSvnindex-long Δsharpe 0.04
P2Same spec twice → identical tear sheetPASSverified daily
P2Spec written Nov re-runs in Mar identically (PIT end-to-end)IN-TESTverification scheduled M4
P3All live signals registered with metadataPARTIAL9/14 registered
P3T1 cannot enumerate library; T2 canPASSverified in F4 access preview
P3Backtest signal version == live computation resultIN-TESTunit-test suite drafted
> / focus   F1-F9 nav   Esc clear
QRP v0.4.2 ● API 14ms ● WS connected ● snapshot snap-2026-05-15T05:18Z ⚠ 2 alerts HOSE 14:30 ATC XCRY 24/7 14:32:08 ICT build a1b2c3d © QRP // POC PHASE-1 M3