QuantLab — Personal Dashboard
Welcome back, eric@quantfund.vn. Notebook này được auto-generate mỗi sáng từ qlab.dashboard và pin trên top tab.
HPG close 2026-05-14: 28,150 vs 28,200 (0.18%) — canonical = SSI per rule| fired_at (ICT) | strategy@ver | market | side | size | tg_msg |
|---|---|---|---|---|---|
| 2026-05-15 09:01:14 | vn30_momentum@v4.2 | VN30F1M | LONG | 2.0x | @vni_bot/4812 |
| 2026-05-15 08:45:02 | vnindex_trend@v2.1 | VN-Index | HOLD | 1.0x | @vni_bot/4811 |
| 2026-05-14 22:18:55 | btc_funding_skew@v1.3 | BTC-PERP | SHORT | 0.5x | @vni_bot/4810 |
| 2026-05-14 15:00:01 | vn100_port@v3.0 | VN100 | REBAL | 1.5x | @vni_bot/4809 |
| 2026-05-14 14:55:12 | eth_basis@v1.1 | ETH-PERP | LONG | 0.75x | @vni_bot/4808 |
.show_provenance() để xem full chain| user | tier | queries | backtests | signal_reads | last_seen |
|---|---|---|---|---|---|
| eric@quantfund.vn | T3 | 284 | 11 | 92 | just now |
| chu@quantfund.vn | T3 | 312 | 14 | 108 | 12m ago |
| hoa.head@quantfund.vn | T3 | 96 | 4 | 45 | 1h ago |
| hung@quantfund.vn | T2 | 421 | 22 | 187 | 8m ago |
| anh@quantfund.vn | T2 | 198 | 9 | 76 | 3h ago |
| linh@quantfund.vn | T1 | 67 | 3 | 4 | 2h ago |
| khoa.intern@quantfund.vn | T1 | 22 | 1 | 2 | yesterday |
Today's focus
- Review PR
#142from anh — VN30 mean reversion v0.3 (T2 signed off, awaiting risk review) - P2.5 interview với chú Hoa lúc 14:00 — model
btc_carry_overnight(paused since Jan) - Approve T2 grant request từ
linh@quantfund.vn— must check 90-day track record first
P1 — Unified Data Layer
Notebook này demo cách query data layer thống nhất cho cả VN equity và crypto. Không bao giờ load CSV từ desktop — mọi truy vấn qua client qlab.data, log identity, point-in-time chuẩn.
"Bad data produces convincing but wrong backtests — worse than no backtest at all." — Phase 1 brief §5.1
| ticker | name | sector | weight | foreign_room | since |
|---|---|---|---|---|---|
| VCB | Vietcombank | Banks | 9.82% | 23.41% | 2014-Q3 |
| VHM | Vinhomes | Real Estate | 8.14% | 18.92% | 2018-Q3 |
| FPT | FPT Corp | Technology | 7.68% | 0.00% | 2014-Q1 |
| VIC | Vingroup | Conglomerate | 6.91% | 10.04% | 2014-Q1 |
| HPG | Hoa Phat Group | Materials | 6.55% | 22.18% | 2014-Q1 |
| TCB | Techcombank | Banks | 5.20% | 22.49% | 2018-Q3 |
| MSB | Maritime Bank | Banks | 3.41% | 19.83% | 2022-Q1 |
| VJC | Vietjet Air | Transport | 3.02% | 14.66% | 2017-Q2 |
| venue | ts (UTC) | open | high | low | close | volume | funding_8h |
|---|---|---|---|---|---|---|---|
| binance | 2026-05-15 06:00 | 71,420.5 | 71,680.0 | 71,310.2 | 71,594.8 | 1,284.3 | +0.0102% |
| bybit | 2026-05-15 06:00 | 71,418.0 | 71,679.5 | 71,308.7 | 71,592.4 | 982.6 | +0.0094% |
| okx | 2026-05-15 06:00 | 71,422.1 | 71,684.2 | 71,309.5 | 71,595.9 | 614.1 | +0.0108% |
| binance | 2026-05-15 07:00 | 71,594.8 | 71,820.0 | 71,560.0 | 71,712.4 | 1,108.7 | +0.0118% |
| bybit | 2026-05-15 07:00 | 71,592.4 | 71,818.0 | 71,558.0 | 71,710.0 | 855.2 | +0.0112% |
| dataset | source | asset | freq | earliest | latest | versions | last_qc |
|---|---|---|---|---|---|---|---|
| vn_eq_eod | SSI · VND-Direct | VN equity | 1d | 2010-01-04 | 2026-05-14 | 4,128 | ✓ 02:14 |
| vn_eq_intraday | SSI | VN equity | 1m | 2018-06-01 | 2026-05-15 | 1,961 | ✓ 02:18 |
| vn_eq_corp_actions | VSD · HOSE | VN equity | event | 2010-01-04 | 2026-05-14 | 4,128 | ✓ 02:21 |
| vn_foreign_room | HOSE | VN equity | 1d | 2014-01-02 | 2026-05-14 | 3,128 | ✓ 02:25 |
| vn_fundamentals | FiinPro | VN equity | quarterly | 2010-Q1 | 2026-Q1 | 65 | ✓ 02:31 |
| vn30_index_history | HOSE | VN equity | event | 2012-02-06 | 2026-Q2 | 57 | ✓ 02:33 |
| crypto_spot | Binance · Bybit · OKX | crypto | 1m / 1h / 1d | 2018-01-01 | now | 2,956 | ✓ 02:48 |
| crypto_perp | Binance · Bybit | crypto | 1m / 1h | 2020-01-01 | now | 2,326 | ⚠ 02:51 |
| crypto_funding | Binance · Bybit · OKX | crypto | 8h | 2020-01-01 | now | 2,326 | ⚠ 02:53 |
| vn_calendar | internal | cross | event | 2010-01-01 | 2026-12-31 | 17 | ✓ 02:01 |
P2 — Canonical Backtester
Một backtester duy nhất, owned bởi PO tech. Researcher submit strategy spec (YAML), không submit code Python tự do. Mỗi run sinh run_id resolve về (code SHA, spec, data snapshot, env).
Demo dưới đây migrate strategy vn30_momentum_v4 từ notebook cũ sang spec chuẩn. Sharpe phải khớp original trong tolerance ±0.1.
| fold | train | test | sharpe_is | sharpe_oos | cagr_oos | maxdd_oos |
|---|---|---|---|---|---|---|
| 1 | 2018–2019 | 2020-H1 | 2.41 | 2.05 | +22.8% | -9.4% |
| 2 | 2018–2020 | 2021-H1 | 2.38 | 2.62 | +34.1% | -7.1% |
| 3 | 2018–2021 | 2022-H1 | 2.30 | 1.18 | -3.4% | -14.8% |
| 4 | 2018–2022 | 2023-H1 | 2.22 | 2.41 | +28.6% | -6.2% |
| 5 | 2018–2023 | 2024-H1 | 2.19 | 2.78 | +31.4% | -5.8% |
P3 — Signal Library
IP vault. Mọi signal versioned, same code path cho backtest và live (signal fire ở Telegram chứng minh được là cùng một signal đã backtest).
T1 chỉ thấy signal được assign vào project. T2+ thấy full library. Mọi truy cập log kèm pattern detection.
| name | ver | family | market | author | status | used_by | decay_τ | last_review |
|---|---|---|---|---|---|---|---|---|
| momentum_12_1 | v3.2 | trend | VN30 | chu | prod | 3 | 14d | 2026-03-12 |
| vol_inv_30d | v1.4 | risk | VN30 | chu | prod | 5 | 30d | 2026-02-04 |
| vn30_carry | v2.0 | carry | VN30F | chu | prod | 2 | 7d | 2026-04-01 |
| trend_following | v2.1 | trend | VN-Index | eric | prod | 1 | 21d | 2026-03-28 |
| pe_zscore_sector | v1.7 | value | VN100 | hoa | prod | 2 | 60d | 2026-01-22 |
| earnings_drift | v1.2 | event | VN100 | anh | prod | 1 | 5d | 2026-04-18 |
| btc_funding_skew | v1.3 | flow | crypto | hung | prod | 1 | 2d | 2026-05-02 |
| eth_basis | v1.1 | basis | crypto | hung | prod | 1 | 3d | 2026-04-30 |
| crypto_oi_change | v0.9 | flow | crypto | hung | prod | 2 | 1d | 2026-05-08 |
| vn_foreign_flow | v1.0 | flow | VN30 | anh | prod | 1 | 10d | 2026-04-22 |
| regime_classifier | v2.3 | macro | VN-Index | eric | prod | 4 | n/a | 2026-03-30 |
| cross_asset_vol | v1.0 | macro | cross | eric | prod | 2 | 14d | 2026-03-15 |
P4 — Telegram Signal Provenance
Mỗi alert push qua @vni_trading_bot đều tagged với strategy@version, signal@version, data snapshot ID, run ID, telegram_msg_id. Closes the live feedback loop — signal fired hôm nay reproducible trong 5 năm tới.
Model Inventory · P2.5 Wiki
Read-only view of the documentation backfill. Each entry written via 60–90 minute structured interview, not self-write. Tier T1 only sees model names + high-level descriptions for assigned models; full body restricted to T2+.
Live models (15 of 18 documented)
vn30_momentum
Status: live · Market: VN30 futures · Author: chu@quantfund.vn · Created: 2022-08 · Last interview: 2026-02-04 by eric
Hypothesis: 12-month minus 1-month price momentum captures persistent trend on VN30 large-caps while skipping short-term reversal. Survives in liquid universe; degrades in mid-caps due to gap risk.
Signal: momentum_12_1@v3.2 · ranked top-30%, hold weekly, vol-target 18%, leverage cap 2x.
Known failure modes: Q2 2022 drawdown -14.8% during rate shock; momentum reversed sharply; regime classifier (added v3.0+) now suppresses signal in declared bear regime.
Where it runs: production cluster prod-vn-1 · pushes to @vni_trading_bot · monitored by Hùng (trader) and Chu (author).
vn100_port_weekly
Status: live · Market: VN100 cash · Author: hoa.head + anh · Created: 2023-04
Hypothesis: Sector-neutral PE z-score combined with post-earnings drift outperforms naive market-cap weighting in VN100 universe. Rebalanced weekly to keep turnover under 35% annualized.
Signal: pe_zscore_sector@v1.7 + earnings_drift@v1.2, sized equal-risk within sector.
btc_funding_skew
Status: live · Market: BTC perp · Author: hung@quantfund.vn · Created: 2024-11
Hypothesis: Persistent positive funding rates indicate over-leveraged longs; mean-reversion trade short with strict stops.
Known failure modes: Trends through funding regimes (e.g. ETF flow events 2024-Q1) can cause persistent losses. Position size halved during macro events. Currently 0.5x of default.
Paused models (2 documented · 1 pending interview)
btc_carry_overnight (paused since 2026-01)
Interview scheduled with chú Hoa today 14:00.
Why paused: Funding rate regime shift after Bitcoin halving + ETF inflows degraded edge; researcher reviewing for restart in mid-2026.
Retired models (5 of 7 documented)
vn_smallcap_value (retired 2024-09)
Lessons learned: Capacity ceiling around ₫30B; unable to scale with growing AUM. Liquidity constraint dominated alpha. Methodology preserved for future small-AUM products.
Access Tiers & Audit
Tier matrix theo §4 spec. T3-only notebook — viewer khác sẽ chỉ thấy aggregate metrics (T0-style).
| tier | who | data layer | backtester | signal lib | deploy prod | grant access | seats |
|---|---|---|---|---|---|---|---|
| T0 | LP, auditors | aggregate only | tear sheet view | — (none) | — | — | 3 |
| T1 | Junior, intern | read all · sandbox | submit assigned | assigned signals only | — | — | 2 |
| T2 | Senior researcher | read all | submit any · propose prod | full library | propose only | — | 2 |
| T3 | Principals | all | all | all + history | approve | grant T2 · revoke | 3 |
| ts (ICT) | user | tier | action | resource | result | note |
|---|---|---|---|---|---|---|
| 07:42:01 | eric | T3 | backtest.submit | vn30_momentum_v4.yml | OK | rid_…e1a9b2 |
| 07:01:18 | eric | T3 | data.query | vn_eq_eod[VN30] | OK | 11,220 rows |
| 06:58:42 | chu | T3 | signal.read | momentum_12_1@v3.2 | OK | source view |
| 06:14:08 | linh | T1 | signal.list | filter:assigned | OK | 2 signals visible |
| 06:12:55 | linh | T1 | signal.read | vn30_carry@v2.0 | DENY | tier insufficient · alert sent |
| 02:18:21 | khoa.intern | T1 | tearsheet.export | vn30_momentum (PDF) | WARN | off-hours · watermarked · approved |
| 23:47:02 | hung | T2 | data.query | crypto_perp[BTC] | OK | cache hit |
vn30_carry@v2.0 outside assignment → blocked · auto-emailed eric, hoa.head