Belajar Perdagangan Kuantitatif Melalui Buku Terbuka
Buku perdagangan kuantitatif sumber terbuka menyediakan sukatan pelajaran lengkap. Ketahui setiap peringkat pembelajaran, cabaran pemula, serta bahagian yang sesuai untuk saham AS.
Buku perdagangan kuantitatif sumber terbuka merupakan sukatan pelajaran awam percuma: keseluruhan laluan daripada data mentah sehingga pesanan langsung, yang ditulis mengikut urutan yang ditemui oleh seorang pemula. Manuskrip untuk XQuant: Everyone Can Be a Quantitative Trader, yang diterbitkan di GitHub oleh xingwudao, merupakan spesimen bersih dengan 686 bintang setakat Ogos 2026, dan sembilan babnya menelusuri lengkung yang dilalui oleh hampir setiap kurikulum kuantitatif. Halaman ini mengikuti lengkung tersebut langkah demi langkah, menamakan kegagalan khusus yang wujud pada setiap peringkat, dan menandakan bahagian mana yang bertahan dalam peralihan daripada saham A China kepada ekuiti AS.
Apakah kandungan buku dagangan kuantitatif sumber terbuka?
Buang penjenamaan daripada mana-mana silibus pemula dan lima peringkat akan kekal, mengikut urutan ini: peroleh dan bersihkan data, bina isyarat daripadanya, uji isyarat tersebut terhadap sejarah, tentukan saiz pertaruhan, kemudian hantar pesanan dan bayar kosnya. Kandungan XQuant, yang dibaca pada komit 016b66e bertarikh 14 Julai 2026, merangkumi skop yang sama dalam sembilan bab.
- Persediaan, kemudian bab satu: jalankan satu strategi lengkap dari hujung ke hujung.
- Bab dua, apa yang perlu dibeli: bermula dengan tiga ETF.
- Bab tiga, berapa banyak yang perlu dibeli: tiga kaedah peruntukan, diukur antara satu sama lain.
- Bab empat, bila untuk berdagang: pengimbangan semula, henti rugi, ambil untung.
- Bab lima, menilai sama ada sesuatu strategi itu baik: empat perspektif.
- Bab enam, jangan meraikan terlalu awal: mencegah overfitting.
- Bab tujuh, daripada ideal kepada realiti: melaksanakan dagangan.
- Bab lapan, kehidupan selepas pelancaran: pemantauan, diagnosis, lelaran.
- Bab sembilan, mencari peluang baharu: pengenalan kepada penyelidikan faktor.
Urutan ini wajar diberi perhatian. Penentuan saiz tiba pada bab tiga, mendahului kedua-dua bab ujian semula, dan penyelidikan faktor tiba pada bahagian terakhir. Laluan belajar sendiri biasanya berjalan secara terbalik: idea faktor didahulukan, ujian semula kedua, dan peraturan saiz tidak pernah disentuh. Repositori latihan pendamping (tiga ratus tiga puluh tiga bintang, tarikh yang sama) disusun berdasarkan spesifikasi tugasan bertulis dan bukannya kod siap, dengan pembaca mengarahkan pembantu AI untuk melaksanakannya. Membaca kod yang tidak anda tulis masih merupakan kemahiran yang menentukan segala-galanya di bawah, memandangkan setiap kegagalan yang menyusul tersembunyi di dalam satu perincian pelaksanaan.
Peringkat satu: dapatkan data, kemudian tentukan alam semesta
Pembersihan data adalah separuh daripada kerja data yang kelihatan: dagangan yang salah, sesi yang hilang, serta pelarasan pecahan saham dan dividen. Memilih nama mana yang ingin dikaji adalah separuh lagi yang tidak kelihatan, dan di sinilah bias kemandirian (survivorship bias) bermula, sebelum sebaris kod strategi pun wujud. Ambil setiap ticker AS yang mencatatkan dagangan dalam satu minggu pada bulan Jun, satu tahun pada satu masa, dan tanya berapa banyak yang masih didagangkan pada minggu yang sama tahun 2026.
SQL tepat di sebalik setiap nombor
WITH june_week AS (
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS year,
ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE toMonth(toTimeZone(window_start, 'America/New_York')) = 6
AND toDayOfMonth(toTimeZone(window_start, 'America/New_York')) BETWEEN 10 AND 16
AND toYear(toTimeZone(window_start, 'America/New_York')) BETWEEN 2016 AND 2026
AND volume > 0
GROUP BY year, ticker
),
survivors AS (
SELECT ticker FROM june_week WHERE year = 2026
)
SELECT year,
uniqExact(ticker) AS tickers_traded,
uniqExactIf(ticker, ticker IN (SELECT ticker FROM survivors)) AS still_trading_2026,
round(100 * uniqExactIf(ticker, ticker IN (SELECT ticker FROM survivors))
/ uniqExact(ticker), 1) AS still_trading_pct
FROM june_week
GROUP BY year
ORDER BY yearDaripada 8224 ticker yang didagangkan pada minggu tersebut dalam 2016, 50% masih didagangkan pada minggu yang sama dalam 2026. Yang lain telah diambil alih, bergabung, ditukar nama, atau dinyahsenarai. Ujian ke belakang (backtest) yang dibina daripada senarai hari ini hanya mengkaji nama-nama yang berjaya bertahan, dan memberi ganjaran kepada strategi kerana memegang syarikat yang dipilih selepas fakta berlaku. Suapan data pemula akan memberikan anda senarai yang terselamat itu tanpa label amaran: panduan API data pasaran saham percuma merangkumi perkara yang dibawa dan tidak dibawa oleh suapan tersebut.
Peringkat dua: menukar data menjadi isyarat
July 2026 Isyarat ialah peraturan yang memberikan skor kepada sesuatu saham pada satu titik masa, dan faktor ialah isyarat yang anda yakini terpakai merentasi banyak saham serentak. Momentum, nilai, dan volatiliti rendah adalah contoh buku teks. Kegagalan pada peringkat ini ialah menguji peraturan sehingga satu daripadanya berhasil. Dua puluh varian persilangan purata bergerak (moving-average crossover) pada satu dekad bagi satu indeks akan sentiasa menghasilkan pemenang, dan pemenang tersebut adalah yang paling menepati hingar (noise) pasaran. Pertahanannya tidak menarik: tetapkan peraturan sebelum anda mengukurnya, simpan sebahagian sejarah yang tidak pernah anda lihat, kira setiap varian yang anda cuba, dan utamakan bilangan angka boleh laras yang lebih sedikit. XQuant meletakkan keseluruhan bab mengenai perkara ini sebelum penyelidikan faktor, yang merupakan urutan yang betul.
Peringkat tiga: ujian semula (backtest), tempat kebanyakan pemula berhenti
Ini adalah peringkat yang menamatkan kebanyakan projek yang dipelajari sendiri, dan ia menamatkannya secara senyap, dengan keluk ekuiti yang kelihatan hebat. Bias kemandirian (survivorship bias), di atas, adalah yang pertama daripada dua ralat tersebut. Bias pandang ke hadapan (look-ahead bias) adalah yang kedua: strategi tersebut menggunakan angka yang belum lagi tersedia pada jam apabila pesanan sepatutnya dibuat. Versi yang paling biasa ialah peraturan yang dikira daripada harga penutup hari ini dan dilaksanakan pada harga penutup yang sama. Ukur jarak yang dilangkau oleh andaian tersebut.
SQL tepat di sebalik setiap nombor
WITH sessions AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMin(open, window_start) AS session_open,
argMax(close, window_start) AS session_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'NVDA')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-08-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, session
),
gaps AS (
SELECT ticker,
session,
toFloat64(session_open) AS open_px,
toFloat64(lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY session)) AS prev_close
FROM sessions
)
SELECT formatDateTime(toStartOfMonth(session), '%Y-%m') AS month,
formatDateTimeInJodaSyntax(toStartOfMonth(session), 'MMMM yyyy') AS month_label,
round(avgIf(abs(open_px / prev_close - 1) * 10000, ticker = 'SPY'), 1) AS spy_gap_bps,
round(avgIf(abs(open_px / prev_close - 1) * 10000, ticker = 'NVDA'), 1) AS nvda_gap_bps
FROM gaps
WHERE prev_close > 0
GROUP BY month, month_label
HAVING countIf(ticker = 'SPY') > 0 AND countIf(ticker = 'NVDA') > 0
ORDER BY monthDalam July 2026, purata jarak antara satu penutup dan cetakan pembukaan seterusnya diukur sebanyak 40.8 mata asas untuk SPY dan 107.4 untuk NVDA. Satu mata asas ialah satu peratus daripada satu peratus. Semua 24 bulan pada panel, bermula dari August 2024, berada di atas sifar. Ujian semula yang membuat keputusan pada harga penutup dan melaksanakan pesanan pada harga penutup yang sama mengutip jarak tersebut secara percuma pada setiap dagangan, dan tiada pesanan sebenar yang pernah melakukannya. Bias pandang ke hadapan dalam ujian semula merungkai mekanisme tersebut, dan mengapa saham mempunyai jurang semalaman menjelaskan tentang jurang itu sendiri.
Peringkat empat: tentukan jumlah belian
Kegagalan di sini adalah ketiadaan perancangan. Kebanyakan pedagang yang belajar sendiri tidak pernah menulis peraturan saiz posisi, yang bermakna mereka mempunyai peraturan secara tidak sengaja, biasanya jumlah dolar yang sama bagi setiap nama atau apa sahaja tunai yang ada. Dolar yang sama tidak bermakna risiko yang sama.
SQL tepat di sebalik setiap nombor
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(close, window_start) AS session_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'JNJ', 'MSFT', 'AAPL', 'NVDA', 'TSLA', 'COIN')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-08-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, session
),
rets AS (
SELECT ticker,
toFloat64(session_close) AS close_px,
toFloat64(lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY session)) AS prev_close
FROM daily
)
SELECT ticker,
round(stddevSamp(close_px / prev_close - 1) * sqrt(252) * 100, 1) AS annualized_vol_pct,
round(abs(min(close_px / prev_close - 1)) * 100, 2) AS worst_day_pct
FROM rets
WHERE prev_close > 0
GROUP BY ticker
ORDER BY annualized_vol_pct DESCSepanjang dua belas bulan berakhir pada 31 Julai 2026, COIN bergerak pada volatiliti tahunan sebanyak 68%, berbanding 12.7% bagi SPY pada bahagian yang lebih stabil dalam panel tersebut. Sesi tunggal terburuknya ditutup 13.34% di bawah penutupan sebelumnya, manakala hari terburuk dalam SPY adalah 2.69%. Jumlah dolar yang sama dalam setiap nama membeli ayunan harian yang sangat berbeza, dan ayunan tersebut, bukannya isyarat, adalah apa yang sebenarnya dialami oleh seorang pemula. Penentuan saiz posisi kriteria Kelly menetapkan satu jawapan rasmi, dan risiko penumpuan menunjukkan bentuk bagi jawapan tidak rasmi.
Peringkat lima: pelaksanaan dan kos yang dilupakan oleh ujian ke belakang (backtest)
Dua kos, satu daripadanya kelihatan. Komisen dan yuran kawal selia muncul pada penyata. Slippage tidak muncul: ia adalah perbezaan antara harga pada skrin dan harga yang anda peroleh. Paras minimumnya ialah bid-ask spread, iaitu jarak antara sebut harga belian terbaik dan sebut harga jualan terbaik pada ketika itu. Pembeli membayar harga ask dan penjual mengambil harga bid, jadi satu pusingan dagangan (round trip) melintasi spread tersebut sebanyak dua kali. Spread bukanlah satu nilai yang tetap.
SQL tepat di sebalik setiap nombor
WITH quotes AS (
SELECT ticker,
toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE) AS bucket,
toFloat64(ask_price - bid_price) / toFloat64((ask_price + bid_price) / 2) * 10000 AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'KO')
AND sip_timestamp >= toDateTime('2026-07-17 13:00:00')
AND sip_timestamp < toDateTime('2026-07-17 21:00:00')
AND bid_price > 0
AND ask_price > bid_price
)
SELECT formatDateTime(bucket, '%H:%i') AS et_time,
round(avgIf(spread_bps, ticker = 'AAPL'), 2) AS aapl_spread_bps,
round(avgIf(spread_bps, ticker = 'KO'), 2) AS ko_spread_bps
FROM quotes
WHERE spread_bps > 0 AND spread_bps < 500
GROUP BY et_time
HAVING countIf(ticker = 'AAPL') > 0 AND countIf(ticker = 'KO') > 0
ORDER BY et_timePanel ini merangkumi 16 segmen setengah jam bagi satu hari Jumaat, daripada segmen 09:00 sebelum loceng pembukaan sehingga segmen 16:30 selepas penutupan. AAPL mencatatkan sebut harga selebar 10.53 mata asas dalam segmen pertama itu dan 3.27 pada segmen terakhir, manakala KO pada 28.87 dan 8.04. Sebut harga paling ketat pada hari tersebut terletak di tengah-tengah carta, di antara kedua-dua hujung tersebut. Strategi yang berdagang pada waktu pembukaan bagi dua nama paling cair di pasaran menanggung kos yang berbeza berbanding versi dagangan tengah hari, dan ujian ke belakang dengan andaian kos sifar tidak mengambil kira kedua-duanya. Bid-ask spread menentukan angka tersebut, mengapa spread melebar pada waktu pembukaan menjelaskan keluk tersebut, dan kos untuk berdagang saham menjumlahkan satu pusingan dagangan penuh. Antara ujian ke belakang yang bersih dan wang sebenar terdapat satu lagi langkah: dagangan kertas sebelum menggunakan wang sebenar.
Bahagian mana daripada kurikulum saham A yang boleh dipindahkan ke saham AS?
July 2026 XQuant dan rakan setaranya ditulis untuk saham A dan ETF China. Kaedah ini boleh dipindahkan sepenuhnya: susunan peringkat, definisi, disiplin overfitting, tabiat memasukkan kos sebagai item baris dan bukannya difikirkan kemudian, serta setiap bahagian dalam aritmetik penentuan saiz. Bar harga tetaplah bar harga. Perkara yang tidak boleh dipindahkan ialah buku peraturan di sekelilingnya.
- Saham A menjalankan sekatan T+1 yang sebenar: saham yang dibeli hari ini tidak boleh dijual sehingga sesi berikutnya. T+1 AS ialah konvensyen penyelesaian dan tidak menyekat apa-apa secara intraday, walaupun peraturan pedagang harian corak mengehadkan akaun margin di bawah $25,000 kepada tiga dagangan harian dalam tempoh lima hari perniagaan.
- Saham A papan utama berhenti pada pergerakan harian sepuluh peratus, dengan dua puluh peratus pada papan pertumbuhan. Saham AS tidak mempunyai had harian, dan jeda berlaku disebabkan oleh jalur volatiliti serta penggantungan berita.
- Pesanan saham A didagangkan dalam lot seratus saham. Banyak broker AS memenuhi pesanan saham pecahan, yang mengubah apa yang boleh dinyatakan oleh peraturan penentuan saiz.
- China mengenakan duti setem pada bahagian jualan. Penjual AS membayar yuran kawal selia kecil yang berbeza saiz dan bentuknya.
- Struktur sesi adalah berbeza, termasuk rehat tengah hari di Shanghai dan Shenzhen. Waktu pasaran saham AS berjalan secara berterusan dan berakhir dengan lelongan penutup.
Sebarang pemalar kos atau masa yang disalin daripada kursus ke dalam kod anda sendiri ialah pepijat yang menunggu pesanan langsung pertama anda.
Sematkan rujukan, bukan README
Repositori tersebut tidak mempunyai keluaran bertanda sehingga Ogos 2026, jadi petikan yang tahan lama ialah komit: 016b66e, bertarikh 14 Julai 2026. Perkara ini penting bagi buku yang masih dalam penulisan. Nombor bab berubah, fail README ditulis semula, tajuk beralih, dan pautan yang menghala ke bab tujuh secara senyap menghala ke tempat lain. Petik komit dan tarikh tersebut, rekod tajuk bab yang anda baca dan bukannya nombornya, supaya nota anda kekal boleh disemak setahun kemudian. Manuskrip ini diterbitkan di bawah CC BY-NC-SA 4.0, dengan skrip binaan di bawah MIT. Disiplin yang sama merupakan pengajaran terakhir dalam sukatan pelajaran itu sendiri: strategi yang tidak boleh anda jalankan semula daripada syot kilat data yang disemat hanyalah sebuah cerita, bukan satu hasil.
Soalan Lazim
Bolehkah anda mempelajari dagangan kuantitatif daripada buku sumber terbuka percuma?
Untuk panduan asas, ya, dan manuskrip terbuka membolehkan anda menyemak setiap dakwaan terhadap sumbernya. Apa yang tidak dapat disediakan oleh buku ialah data, kos, dan peraturan pasaran anda sendiri, yang merupakan perkara tepat di mana sukatan pelajaran yang ditulis untuk satu bursa tidak lagi sepadan dengan broker anda.
Peringkat kurikulum kuantitatif yang manakah paling banyak menghentikan pemula?
Ujian ke belakang (backtest). Dua ralat wujud di sana dan kedua-duanya mencantikkan hasil: bias kemandirian (survivorship bias), daripada alam semesta yang dipasang selepas fakta, dan bias pandang ke hadapan (look-ahead bias), daripada melaksanakan pesanan pada harga yang belum dicetak oleh jam pasaran. Hanya 50% daripada ticker yang didagangkan pada minggu Jun 2016 itu masih didagangkan sedekad kemudian.
Apakah perbezaan antara bias kemandirian dan bias pandang ke hadapan?
Bias kemandirian ialah masalah alam semesta: nama-nama yang diuji dipilih kerana ia telah bertahan. Bias pandang ke hadapan ialah masalah pemasaan: strategi menggunakan angka yang belum wujud apabila pesanan sepatutnya dimasukkan. Yang pertama membesarkan senarai, yang kedua membesarkan pelaksanaan harga.
Adakah kursus kuantitatif saham A China berkesan untuk saham AS?
Kaedahnya berkesan. Peraturan pasarannya tidak. Kekalkan susunan peringkat, disiplin overfitting, dan perakaunan kos, kemudian gantikan sistem data, sekatan penjualan T+1, had harga harian, dan saiz lot dengan setara AS sebelum sebarang wang dipindahkan.
Setiap panel di atas ialah pertanyaan tersimpan dengan SQL di bawahnya. Buka satu, tukar ticker atau tarikh, dan jalankannya sendiri pada terminal Strasmore.