3
📓 dashboard.ipynb ×
📓data_layer.ipynb ×
📓backtester.ipynb ×
📓signal_library.ipynb ×
📓telegram_signals.ipynb ×
📄models_wiki.md ×
📓access_audit.ipynb ×
eric/main Python 3.11 (qlab) — Idle

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.

Phase 1 status: P1 Data Layer ✅ · P2 Backtester ✅ · P2.5 Wiki 83% (15/18 live models documented) · P3 Signal Library in progress — schema ratified Mon, first 12 signals registered.
In [1]: Out [1]:
# KPI snapshot — pull từ tear sheet pipeline đêm qua from qlab.dashboard import kpi_snapshot snapshot = kpi_snapshot(user="eric@quantfund.vn", window="30d") snapshot.render()
AUM live
₫ 248.6 B
+₫4.2B WoW
Sharpe 30d
2.14
vs target 1.50
Max DD 30d
-2.8%
peak 2026-04-22
Live strategies
7
3 VN · 4 crypto
⏱ 0.42s · run_id: rid_2026-05-15T07:01:18_a83f · snapshot: ds_2026-05-14_eod
In [2]: Out [2]:
# Equity curve toàn portfolio 90 ngày — gross vs net of costs snapshot.equity_curve(window="90d", show_costs=True)
Portfolio Equity (90d) — gross vs netqlab.dashboard · v0.4.1
⏱ 0.81s · 91 trading days · cost drag: 14 bps
In [3]: Out [3]:
# Quality alerts từ data layer — chạy mỗi đêm 02:00 ICT qlab.data.alerts(since="24h")
PASS VN equity ingestion · 412/412 tickers · checksum match
PASS Binance perp ingestion · 38/38 symbols · funding rates current
WARN SSI ↔ VND-Direct divergence on HPG close 2026-05-14: 28,150 vs 28,200 (0.18%) — canonical = SSI per rule
FAIL Bybit funding rate gap 2026-05-14 19:00–20:00 (1h missing) — backfill scheduled 03:00 ICT
⏱ 0.12s · 4 alerts · 2 actionable · auto-pager off-hours OFF
In [4]: Out [4]:
# Live signals 24h — đẩy sang Telegram qua P4 provenance pipeline qlab.signals.live_feed(window="24h").head(5)
# DataFrame · 5 rows × 6 cols
fired_at (ICT)strategy@vermarketsidesizetg_msg
2026-05-15 09:01:14vn30_momentum@v4.2VN30F1MLONG2.0x@vni_bot/4812
2026-05-15 08:45:02vnindex_trend@v2.1VN-IndexHOLD1.0x@vni_bot/4811
2026-05-14 22:18:55btc_funding_skew@v1.3BTC-PERPSHORT0.5x@vni_bot/4810
2026-05-14 15:00:01vn100_port@v3.0VN100REBAL1.5x@vni_bot/4809
2026-05-14 14:55:12eth_basis@v1.1ETH-PERPLONG0.75x@vni_bot/4808
[5 rows × 6 columns] · tip: .show_provenance() để xem full chain
In [5]: Out [5]:
# Hoạt động team trong tuần — chỉ T3 thấy được full activity qlab.audit.team_activity(window="7d").summary()
usertierqueriesbacktestssignal_readslast_seen
eric@quantfund.vnT32841192just now
chu@quantfund.vnT33121410812m ago
hoa.head@quantfund.vnT3964451h ago
hung@quantfund.vnT2421221878m ago
anh@quantfund.vnT21989763h ago
linh@quantfund.vnT167342h ago
khoa.intern@quantfund.vnT12212yesterday
⏱ 0.06s · 7 users · 0 alerts triggered · audit log immutable (sha256 chain verified)

Today's focus

  • Review PR #142 from 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
In [1]: Out [1]:
import qlab qlab.whoami()
User : eric@quantfund.vn Tier : T3 (Principal) Workspace : quant-research Branch : eric/main @ 4f2c1a8 Kernel : Python 3.11.7 · qlab 0.4.1 · duckdb 0.10.2 Data lake : s3://qlab-prod/dl/ (ro) Catalog : pg://qlab-catalog.internal:5432 (ro) Audit log : every query logged · alerts on bulk/off-hours patterns
⏱ 0.09s
In [2]: Out [2]:
# Query VN30 universe AS OF một ngày trong quá khứ — không có survivorship bias universe = qlab.data.vn_index_members( index="VN30", as_of="2024-06-15", # point-in-time ) universe.head(8)
# VN30 constituents as of 2024-06-15 (point-in-time)
tickernamesectorweightforeign_roomsince
VCBVietcombankBanks9.82%23.41%2014-Q3
VHMVinhomesReal Estate8.14%18.92%2018-Q3
FPTFPT CorpTechnology7.68%0.00%2014-Q1
VICVingroupConglomerate6.91%10.04%2014-Q1
HPGHoa Phat GroupMaterials6.55%22.18%2014-Q1
TCBTechcombankBanks5.20%22.49%2018-Q3
MSBMaritime BankBanks3.41%19.83%2022-Q1
VJCVietjet AirTransport3.02%14.66%2017-Q2
[30 rows × 6 columns] · ⏱ 0.18s · query_id: q_a13fe2 · snapshot: ds_vn30_2024-06-15
In [3]: Out [3]:
# Daily bars cho universe trên — cùng query cùng kết quả byte-identical với mọi user bars = qlab.data.bars( tickers=universe.ticker, start="2023-01-01", end="2024-06-15", freq="1d", adjust="corp_actions", ) print(bars.shape, bars.columns.tolist())
(11220, 8) ['ticker', 'date', 'open', 'high', 'low', 'close', 'volume', 'value_vnd']
QC 0 missing rows · 0 outliers · 14 corporate actions auto-adjusted (splits: 3, dividends: 11)
⏱ 0.34s · query_id: q_b71fa9 · snapshot: ds_vn_eod_2024-06-15 · 11,220 rows · cache miss
In [4]: Out [4]:
# Crypto — OHLCV qua nhiều sàn, funding rates kèm theo btc = qlab.data.crypto_bars( symbol="BTC-USDT", venues=["binance", "bybit", "okx"], freq="1h", start="2026-04-01", with_funding=True, ) btc.tail(5)
venuets (UTC)openhighlowclosevolumefunding_8h
binance2026-05-15 06:0071,420.571,680.071,310.271,594.81,284.3+0.0102%
bybit2026-05-15 06:0071,418.071,679.571,308.771,592.4982.6+0.0094%
okx2026-05-15 06:0071,422.171,684.271,309.571,595.9614.1+0.0108%
binance2026-05-15 07:0071,594.871,820.071,560.071,712.41,108.7+0.0118%
bybit2026-05-15 07:0071,592.471,818.071,558.071,710.0855.2+0.0112%
[3,267 rows × 8 columns] · venues=3 · funding rates aligned to bar close
In [5]: Out [5]:
# Catalog dataset — tất cả nguồn data đã đăng ký, schema versioned qlab.data.catalog(asset_class="all")
datasetsourceassetfreqearliestlatestversionslast_qc
vn_eq_eodSSI · VND-DirectVN equity1d2010-01-042026-05-144,128 02:14
vn_eq_intradaySSIVN equity1m2018-06-012026-05-151,961 02:18
vn_eq_corp_actionsVSD · HOSEVN equityevent2010-01-042026-05-144,128 02:21
vn_foreign_roomHOSEVN equity1d2014-01-022026-05-143,128 02:25
vn_fundamentalsFiinProVN equityquarterly2010-Q12026-Q165 02:31
vn30_index_historyHOSEVN equityevent2012-02-062026-Q257 02:33
crypto_spotBinance · Bybit · OKXcrypto1m / 1h / 1d2018-01-01now2,956 02:48
crypto_perpBinance · Bybitcrypto1m / 1h2020-01-01now2,326 02:51
crypto_fundingBinance · Bybit · OKXcrypto8h2020-01-01now2,326 02:53
vn_calendarinternalcrossevent2010-01-012026-12-3117 02:01
[10 rows × 8 columns] · 8 datasets healthy · 2 with warnings (Bybit funding gap 1h) · 0 failed
In [6]: Out [6]:
# Source reconciliation report 7 ngày — divergence flag để review qlab.data.reconciliation_report(window="7d").plot()
VN equity: SSI vs VND-Direct divergencebps · daily
Crypto: Binance vs Bybit close divergencebps · hourly avg
⏱ 0.27s · canonical rule: VN→SSI primary · CRY→Binance primary · 3 corrections logged

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.

In [1]: Out [1]:
%load ../strategies/vn30_momentum_v4.yml
# strategies/vn30_momentum_v4.yml — schema_version: 0.4 name: vn30_momentum version: v4.2 author: chu@quantfund.vn market: vn_equity_futures universe: index: VN30 filters: - adv_min_vnd: 50_000_000_000 # 50 tỷ ADV - foreign_room_min: 5 # >= 5% signals: - ref: momentum_12_1@v3.2 # pin từ signal library (P3) - ref: vol_inv_30d@v1.4 entry: when: momentum_12_1 > quantile(0.7) and regime != "bear" exit: when: momentum_12_1 < quantile(0.4) stop_loss: -0.05 sizing: method: vol_target target_ann_vol: 0.18 leverage_max: 2.0 rebalance: weekly_close cost_model: vn_default_v2 # brokerage + tax + slippage + foreign room capital: 100_000_000_000 # 100 tỷ VND
⏱ 0.02s · spec validated against schema 0.4 · 2 signal refs resolved from library
In [2]: Out [2]:
# Submit backtest — chạy trên cluster, sinh run_id duy nhất run = qlab.backtest.submit( spec="../strategies/vn30_momentum_v4.yml", period=("2018-01-01", "2026-04-30"), data_snapshot="latest", ) print(run.id, run.status)
rid_2026-05-15T07:42:01_e1a9b2 COMPLETED (47.3s) ├─ code SHA : 4f2c1a8 (qlab-backtest@main) ├─ spec hash : sha256:b81d…2f4e ├─ data snapshot : ds_vn_eod_2026-04-30 + ds_corp_actions_2026-04-30 ├─ signals pinned : momentum_12_1@v3.2, vol_inv_30d@v1.4 ├─ env : python-3.11.7 / numpy-1.26.3 / pandas-2.2.0 └─ reproducible : YES (re-run will produce byte-identical tear sheet)
⏱ 47.3s · 1,597 rebal events · 8.3y backtest · capacity warning at ₫450B
In [3]: Out [3]:
# Tear sheet chuẩn — mọi field bắt buộc đều có run.tearsheet()
▒▒▒ TEAR SHEET · vn30_momentum@v4.2 · run rid_…e1a9b2 · watermark: eric@quantfund.vn ▒▒▒
Sharpe
2.18
orig 2.21 ✓
Sortino
3.04
tail-aware
CAGR
+27.4%
orig 27.6%
Max DD
-14.8%
2022-Q2
Hit rate
58.2%
812/1394
Capacity
₫ 450 B
warn ≥ 80%
Equity curve · gross vs net of costs (2018–2026)log scale
Drawdownunderwater plot
Monthly returns heatmapann. distribution
Regime decompositionbull · sideways · bear
Cost drag breakdownbps annualized
# Walk-forward results (5-fold)
foldtraintestsharpe_issharpe_ooscagr_oosmaxdd_oos
12018–20192020-H12.412.05+22.8%-9.4%
22018–20202021-H12.382.62+34.1%-7.1%
32018–20212022-H12.301.18-3.4%-14.8%
42018–20222023-H12.222.41+28.6%-6.2%
52018–20232024-H12.192.78+31.4%-5.8%
MIGRATION Sharpe 2.18 vs original 2.21 · diff 0.03 · WITHIN ±0.1 tolerance ✓
CAPACITY Strategy hits capacity warning at ₫450B AUM · current deployment ₫120B → safe margin 3.75x
⏱ tear sheet rendered 0.62s · PDF export logged · watermark embedded

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.

In [1]: Out [1]:
qlab.signals.catalog(market="all", status="production")
# Signal catalog · viewer tier=T3 · returns 12 of 12 production signals
nameverfamilymarketauthorstatusused_bydecay_τlast_review
momentum_12_1v3.2trendVN30chuprod314d2026-03-12
vol_inv_30dv1.4riskVN30chuprod530d2026-02-04
vn30_carryv2.0carryVN30Fchuprod27d2026-04-01
trend_followingv2.1trendVN-Indexericprod121d2026-03-28
pe_zscore_sectorv1.7valueVN100hoaprod260d2026-01-22
earnings_driftv1.2eventVN100anhprod15d2026-04-18
btc_funding_skewv1.3flowcryptohungprod12d2026-05-02
eth_basisv1.1basiscryptohungprod13d2026-04-30
crypto_oi_changev0.9flowcryptohungprod21d2026-05-08
vn_foreign_flowv1.0flowVN30anhprod110d2026-04-22
regime_classifierv2.3macroVN-Indexericprod4n/a2026-03-30
cross_asset_volv1.0macrocrossericprod214d2026-03-15
[12 rows × 9 columns] · read logged · query_id sl_2c81e5
In [2]: Out [2]:
# Detail view một signal — full source, history, lineage (T2+ only) qlab.signals.get("momentum_12_1", version="v3.2").describe()
Signal : momentum_12_1 Version : v3.2 (4 versions total: v1.0, v2.0, v3.0, v3.2) Family : trend Market : VN30 (extends to VN100 with degraded decay) Author : chu@quantfund.vn · Created : 2022-08-14 Status : production · Last review : 2026-03-12 by hoa.head Hypothesis : 12-month price momentum minus most recent 1 month captures persistent trend while skipping short-term reversal noise. Formula : (close[t-21] / close[t-252]) - 1 Dependencies : vn_eq_eod, vn30_index_history (point-in-time) Decay τ : ~14 trading days half-life on VN30 universe Used by : vn30_momentum@v4.2 (live), vn30_combo@v2.0 (staging), eric/scratch_vn30_momentum.ipynb (research) Correlations : vn30_carry +0.31 · vol_inv_30d -0.18 · trend_following +0.62
⏱ 0.05s · same code path used in live signal computation · diff vs live: 0 bps
In [3]: Out [3]:
# Correlation matrix giữa các signal đang production qlab.signals.corr_matrix(market="VN").plot()
Signal correlation matrix · VN production · 252d windowSpearman ρ
⏱ 0.41s · helps avoid reinventing existing signals · only shows signals viewer can see
In [4]: Out [4]:
# Lineage — strategy nào đang dùng signal này (live và research) qlab.signals.get("momentum_12_1").lineage()
momentum_12_1@v3.2 ├─ vn30_momentum@v4.2 [LIVE] chu@quantfund.vn ₫120B AUM ├─ vn30_combo@v2.0 [STAGING] anh@quantfund.vn awaiting peer review └─ eric/scratch_vn30_momentum [RESEARCH] eric@quantfund.vn working copy momentum_12_1@v3.0 (deprecated 2025-11-04) └─ vn30_momentum@v3.x [RETIRED] superseded after capacity restudy momentum_12_1@v2.0 (deprecated 2024-06-12) └─ vn30_momentum@v2.x [RETIRED] regime sensitivity rework
⏱ 0.04s · lineage spans 3 versions · 2 live/staging dependencies

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.

In [1]: Out [1]:
feed = qlab.telegram.recent(channel="@vni_trading_bot", window="10d") feed[0].render_with_provenance()
🚀 VN30 FUTURES Win 60.87% · LONG 2026-05-06 @ 2053.4 → 2026-05-11 @ 2039.0 · -0.7% · 2x
strategy
vn30_momentum@v4.2
signal pinned
momentum_12_1@v3.2 · vol_inv_30d@v1.4
data snapshot
ds_vn_eod_2026-05-05 (frozen)
run_id
rid_2026-05-06T08:30:14_d4a1f8
code SHA
4f2c1a8
tg_msg_id
@vni_trading_bot/4781 · sent 08:32:01 ICT
human action
executed by trader Hùng · fill confirmed 08:34:22
In [2]: Out [2]:
feed[1].render_with_provenance()
🚀 VN100 PORT · MSB 18%(+8.43%) VJC 18%(-5.85%) VIC 18%(+15.19%) VPI 18%(-3.99%) VHM 18%(+30.3%) STB 18%(+5.62%) HPG 10.5%(-5.43%) LPB 10.5%(+11.51%) HDB 10.5%(+1.13%) HCM 10.5%(+0.92%) · +4.3% · 1.5x
strategy
vn100_port@v3.0
signal pinned
pe_zscore_sector@v1.7 · earnings_drift@v1.2
data snapshot
ds_vn_eod_2026-05-13 + ds_fundamentals_2026-Q1
run_id
rid_2026-05-14T15:00:01_8c2a5e
code SHA
4f2c1a8
tg_msg_id
@vni_trading_bot/4809 · sent 15:00:04 ICT
rebal type
weekly_close · 10 names · gross 150% / net 150%
In [3]: Out [3]:
feed[2].render_with_provenance()
🚀 VNINDEX LONG Win 78.57% · 2026-04-09 @ 1763.85 → 2026-05-13 @ 1898.37 · +7.63%
strategy
vnindex_trend_long@v2.1
signal pinned
trend_following@v2.1 · regime_classifier@v2.3
data snapshot
ds_vn_eod_2026-04-08 → ds_vn_eod_2026-05-13
run_id (entry)
rid_2026-04-09T09:01:18_a73c01
run_id (exit)
rid_2026-05-13T14:55:42_b81f2d
tg_msg (entry)
@vni_trading_bot/4612 · 09:03:22 ICT
tg_msg (exit)
@vni_trading_bot/4798 · 14:57:08 ICT
backtest expect
+6.1% (this fold) · realized +7.63% · within +1σ ✓
In [4]: Out [4]:
feed[3].render_with_provenance()
🚀 VN30 PORT · SAB 37.5%(-1.48%) STB 37.5%(+11.03%) TCB 37.5%(+0.45%) VJC 37.5%(-3.3%) · +5.8% · 1.5x
strategy
vn30_port_concentrated@v2.4
signal pinned
momentum_12_1@v3.2 · vn_foreign_flow@v1.0
data snapshot
ds_vn_eod_2026-05-12 + ds_foreign_room_2026-05-12
run_id
rid_2026-05-13T15:00:08_f31ab9
code SHA
4f2c1a8
tg_msg_id
@vni_trading_bot/4795 · sent 15:00:11 ICT
leverage
1.5x · 4 names · gross 150% · capacity ₫180B (used ₫48B)
In [5]: Out [5]:
# Aggregate: live signal hit-rate vs backtest expectation (P4 → P6) qlab.telegram.live_vs_backtest(window="90d").plot()
Live signal P&L vs backtested expectation · 90d rollingσ-band overlay
DRIFT Live realized within ±1σ of backtest for 87/90 days · no degradation alert · NAV backstop untouched
⏱ 0.93s · 4 strategies tracked · this dashboard backs the P6 monitoring SLO

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.

Next: 3 live models still pending interview (target: end of Month 4). All paused/retired models target end of Month 5. Migration into structured signal library in Months 5–6.

Access Tiers & Audit

Tier matrix theo §4 spec. T3-only notebook — viewer khác sẽ chỉ thấy aggregate metrics (T0-style).

In [1]: Out [1]:
qlab.access.tier_matrix()
tierwhodata layerbacktestersignal libdeploy prodgrant accessseats
T0LP, auditorsaggregate onlytear sheet view— (none)3
T1Junior, internread all · sandboxsubmit assignedassigned signals only2
T2Senior researcherread allsubmit any · propose prodfull librarypropose only2
T3Principalsallallall + historyapprovegrant T2 · revoke3
10 active users · last access review 2026-04-30 · next due 2026-07-30
In [2]: Out [2]:
qlab.audit.log(window="24h", severity="all")
ts (ICT)usertieractionresourceresultnote
07:42:01ericT3backtest.submitvn30_momentum_v4.ymlOKrid_…e1a9b2
07:01:18ericT3data.queryvn_eq_eod[VN30]OK11,220 rows
06:58:42chuT3signal.readmomentum_12_1@v3.2OKsource view
06:14:08linhT1signal.listfilter:assignedOK2 signals visible
06:12:55linhT1signal.readvn30_carry@v2.0DENYtier insufficient · alert sent
02:18:21khoa.internT1tearsheet.exportvn30_momentum (PDF)WARNoff-hours · watermarked · approved
23:47:02hungT2data.querycrypto_perp[BTC]OKcache hit
ALERT linh@quantfund.vn (T1) attempted read on vn30_carry@v2.0 outside assignment → blocked · auto-emailed eric, hoa.head
⏱ 0.08s · 1,247 events in window · 1 deny · 1 off-hours warning · audit log sha256-chained (verified)
Data
Signals
Vars
Help
VN equity
vn_eq_eodparquet
tickerstr
datedate
closef64
openf64
volumei64
value_vndi64
vn_eq_intradayparquet
vn_eq_corp_actionsevents
vn_foreign_roomparquet
vn_fundamentalsparquet
vn30_index_historyevents
Crypto
crypto_spotparquet
crypto_perpparquet
crypto_fundingparquet
crypto_oiparquet
Cross-asset
vn_calendarevents
fx_ratesparquet
vn_macroparquet
Tip: Double-click một column để insert qlab.data.bars(...) snippet vào cell hiện tại.
Production · 12 visible to T3
momentum_12_1 @v3.2
12-month minus 1-month price momentum on VN30 universe.
PRODtrendVN30used×3
vol_inv_30d @v1.4
Inverse 30-day realized vol; sizing input across portfolios.
PRODriskused×5
vn30_carry @v2.0
Futures-spot basis carry on VN30F1M.
PRODcarryVN30F
btc_funding_skew @v1.3
Persistent positive funding → mean-revert short.
PRODflowcrypto
Staging · 3
vn30_mean_rev @v0.3
Short-horizon mean reversion on VN30 large caps.
STGreversionawaiting review
Development · 6
vn_etf_flow_proxy @v0.1
Approximation of foreign ETF flow into VN30 names.
DEVflow
Restricted (locked)
🔒 deal_specific_alpha @—
Restricted to head of research project assignment.
Tier insufficient · request access from hoa.head@quantfund.vn
nametypeshapemem
snapshotKPISnapshot2.1 KB
universeDataFrame(30, 6)4.2 KB
barsDataFrame(11220, 8)1.1 MB
btcDataFrame(3267, 8)318 KB
runBacktestRun14 KB
feedSignalFeed(28,)22 KB
qlabmodule
Memory total: 1.46 MB · cleared on Restart Kernel

Phím tắt notebook

Run cellShift + Enter
Run cell, insert belowAlt + Enter
Insert code cell aboveA
Insert code cell belowB
Convert to markdownM
Restart kernel0, 0
Command palette⌘ K
Toggle right panel⌘ J

Tài liệu

qlab Python client reference — đầy đủ API data, signals, backtest

Strategy spec schema v0.4 — định dạng YAML cho backtester

P2.5 wiki template — script dùng cho structured interview

Tier permissions matrix — chi tiết §4 spec

Hỗ trợ

PO tech: #platform-support trên Slack · SLA 4h business hours

Embedded engineer này tuần: Trang (data) · Bằng (backtester)

Weekly demo: Thứ 6 16:00 ICT · biweekly retro: thứ 3 tuần lẻ

Status hiện tại

PhasePhase 1 · Month 5
P1 Data Layer✓ DONE
P2 Backtester✓ DONE
P2.5 Wiki83%
P3 Signal Libraryin progress
eric/main ↑3
0 1
Python 3.11 · qlab 0.4.1 · Idle
dashboard.ipynb · 6 cells · ● modified
📊 queries logged: 284
backtests: 11
02:14:08
T3
🔔 3
UTC+7 · ICT