Type/to search
2
Follow
484
Followers
Menyuling pengalaman 99 pedagang menjadi satu strategi: Idea pelaksanaan konsensus penyulingan KOL pada pencipta.
Discussions
Created 2026-04-30 14:07:08  Updated 2026-05-09 10:24:15
 0
 301

img

Sejak kebelakangan ini, istilah "penyulingan" semakin kerap digunakan. Dalam bidang AI, ia biasanya bermaksud mengekstrak keupayaan kompleks ke dalam struktur yang lebih padat dan boleh diguna semula; dan apabila diterapkan ke dalam penyelidikan strategi, idea yang sama juga berlaku. Dengan kata yang lebih langsung, ia adalah menyusun pengetahuan yang pada asalnya tersebar, kabur, dan bergantung pada pengalaman subjektif kepada satu sistem yang boleh dikira, boleh disahkan, dan boleh diperbetulkan secara berterusan.

Projek crypto-kol-quant menjadi sangat popular baru-baru ini. Apa yang benar-benar menarik tentangnya bukanlah berapa banyak KOL yang diambil, atau penggunaan LLM, tetapi ia cuba melakukan sesuatu yang jarang berlaku dalam penyelidikan kuantitatif: menyuling pengalaman pedagang ke dalam satu set faktor keupayaan yang boleh dikira, dan kemudian menggabungkannya menjadi isyarat konsensus. Masalah ini sendiri patut diambil serius. Kerana jika sekumpulan pedagang yang aktif lama dan gaya stabil benar-benar telah membentuk rangka kerja kognitif mereka sendiri dalam pasaran, maka rangka kerja ini secara teorinya tidak sepatutnya wujud hanya dalam tweet, carta, dan sepatah dua kata; ia juga harus berpeluang untuk diekstrak, disusun, dan dimasukkan ke dalam rantaian strategi yang boleh dilaksanakan.

img

Berdasarkan idea ini, kami telah membuat pelaksanaan awal dalam persekitaran pengkuantitian Pencipta. Tumpuan bukanlah untuk "memindahkan" projek secara mudah, tetapi untuk benar-benar merangkaikan logik terasnya: pertama, mendapatkan data pasaran, kemudian menterjemahkan pasaran ke dalam keadaan berstruktur; kemudian, berdasarkan keadaan ini, menilai keupayaan perdagangan mana yang sedang dicetuskan; seterusnya, memetakan keupayaan ini kembali ke profil pedagang; dan akhirnya, menggabungkan pertimbangan individu pedagang yang berbeza menjadi isyarat konsensus berwajaran. Ia jelas belum lagi menjadi sistem perdagangan yang matang, tetapi ia sekurang-kurangnya telah menyelesaikan satu perkara penting: membuktikan bahawa pengalaman pedagang sememangnya boleh dimampatkan, distrukturkan, dan benar-benar dimasukkan ke dalam proses pertimbangan strategi.

Objek penyulingan bukanlah pendapat, tetapi keupayaan perdagangan

Ramai orang apabila pertama kali terdedah kepada projek sebegini, mudah mentafsirkannya sebagai "strategi sentimen KOL". Tetapi ini sebenarnya tidak tepat. Apa yang sebenarnya dilakukan oleh projek asal bukanlah sekadar menilai siapa yang lebih optimistik hari ini, atau mengira siapa yang menyeru beli atau jual, tetapi pergi lebih jauh dengan bertanya: Bagaimana sebenarnya pedagang ini memahami pasaran? Dalam struktur apa dia cenderung untuk menaik? Adakah dia lebih memberi perhatian kepada trend, kedudukan, pembentukan, turun naik, atau persekitaran makro? Bolehkah cara pertimbangan ini disusun menjadi satu set label keupayaan yang stabil?

Sebaik sahaja soalan dikemukakan dengan cara ini, tumpuan strategi berubah. Sistem tidak lagi mengambil berat tentang sesuatu kenyataan tertentu, tetapi tentang metodologi di sebalik kenyataan itu. Dengan kata lain, apa yang benar-benar disuling oleh strategi ini bukanlah teks, tetapi pengetahuan perdagangan itu sendiri. Ia cuba menterjemahkan pengalaman subjektif yang asalnya bergantung pada pemahaman manusia ke dalam keupayaan yang boleh dikenal pasti dan dipanggil oleh program. Ini juga merupakan perbezaan terbesarnya dengan model sentimen biasa: ia tidak menilai betapa panasnya sentimen pasaran, tetapi membina semula cara rangka kerja perdagangan yang berbeza bertindak balas dalam pasaran semasa.

Langkah Pertama: Terjemahkan Pasaran ke dalam Pembolehubah Keadaan

Untuk penyulingan benar-benar dapat dilaksanakan, langkah pertama semestinya bukan ramalan, tetapi kejuruteraan ciri. Sebabnya mudah: bahasa pedagang adalah untuk dilihat oleh manusia, bukan oleh program. Contohnya, ayat "harga menyentuh semula purata bergerak utama, ini adalah peluang masuk semula yang baik" mudah difahami oleh pedagang, tetapi untuk program, ia mesti dipecahkan dahulu: apakah purata bergerak utama itu, 50 hari atau 200 hari; adakah harga semasa hampir dengan purata bergerak ini; adakah trend telah rosak; adakah isyarat penerimaan muncul.

Oleh itu, perkara pertama yang perlu dilakukan oleh sistem bukanlah memberikan kesimpulan beli/jual, tetapi menukar data pasaran mentah kepada satu set keadaan berstruktur. Lapisan paling asas di sini adalah menggunakan harga untuk membina ciri trend dan momentum. Pembolehubah seperti purata bergerak mudah, purata bergerak eksponen, RSI, MACD bukanlah untuk menimbun penunjuk, tetapi untuk menjawab soalan mudah: dalam keadaan apakah pasaran sekarang?

img

Kod utama adalah seperti berikut:

python
# Gunakan purata bergerak tempoh berbeza untuk menerangkan kedudukan trend harga f['ma20'] = _sma(c,20) f['ma50'] = _sma(c,50) f['ma100'] = _sma(c,100) f['ma200'] = _sma(c,200) # Purata bergerak eksponen lebih sensitif kepada perubahan harga terkini f['ema20'] = _ema(c,20) f['ema50'] = _ema(c,50) # RSI digunakan untuk menerangkan sama ada pasaran terlebih beli/terlebih jual, atau momentum semakin lemah f['rsi14'] = _rsi(c,14) # MACD serta garis isyarat dan histogramnya, digunakan untuk memerhatikan perubahan trend dan momentum ml, ms, mh = _macd(c) f['macd'] = ml f['macd_sig'] = ms f['macd_hist'] = mh

Apa yang dilakukan oleh kod ini tidaklah rumit. Purata bergerak membantu sistem menilai kedudukan harga semasa berbanding trend jangka panjang, manakala RSI dan MACD digunakan untuk menerangkan sama ada momentum semakin kuat atau semakin lemah. Ia belum lagi memasuki pertimbangan perdagangan, hanya mewujudkan lapisan "penerangan keadaan pasaran".

Seterusnya, sistem juga perlu menambah hubungan turun naik dan kedudukan, kerana banyak pertimbangan perdagangan tidak hanya bergantung pada trend, tetapi juga pada "adakah sekarang tempoh turun naik mengecut", "adakah harga hampir dengan paras tinggi atau rendah julat".

Kod yang sepadan adalah:

python
# Pulangan log adalah asas untuk mengira turun naik logr = np.log(c / c.shift(1)) # Turun naik tahunan 30 hari terakhir, digunakan untuk mengukur tahap turun naik pasaran semasa f['rv30'] = logr.rolling(30, min_periods=10).std() * np.sqrt(365) # Paras tinggi dan rendah 20 hari dan 50 hari terakhir, digunakan untuk menilai kedudukan harga f['high_20d'] = h.rolling(20, min_periods=1).max() f['low_20d'] = l.rolling(20, min_periods=1).min() f['high_50d'] = h.rolling(50, min_periods=1).max() f['low_50d'] = l.rolling(50, min_periods=1).min()

Di sini, rv30 mewakili tahap turun naik tahunan 30 hari terakhir, manakala paras tinggi rendah julat digunakan untuk membantu sistem menilai di mana kedudukan harga semasa dalam struktur harga terkini. Selain itu, latar belakang makro juga dimasukkan ke dalam ruang keadaan. Kerana terdapat sejenis pedagang yang tidak hanya melihat harga koin itu sendiri, mereka juga memerhatikan indeks dolar AS, kecenderungan risiko pasaran saham AS, dan persekitaran kadar faedah. Cara pemprosesan yang sepadan dalam kod adalah dengan menjajarkan pembolehubah ini setiap hari, kemudian menukarnya menjadi keadaan yang boleh dibaca:

python
# DXY sebagai pembolehubah latar belakang kekuatan/kelemahan dolar AS if 'DXY' in macro: dxy = _align(macro['DXY']) f['dxy_ret_20d'] = dxy.pct_change(20) f['dxy_trend_down'] = (dxy.pct_change(20) < -0.01).astype(int) # SPX sebagai pembolehubah latar belakang kecenderungan risiko if 'SPX' in macro: spx = _align(macro['SPX']) f['spx_ret_20d'] = spx.pct_change(20) f['spx_trend_up'] = (spx.pct_change(20) > 0).astype(int)

Maksud langkah ini boleh dirumuskan dalam satu ayat: pertama, terjemahkan "bagaimana keadaan pasaran sekarang" ke dalam keadaan berstruktur yang boleh dibaca secara berterusan oleh mesin. Tanpa lapisan ini, penyulingan di peringkat seterusnya tidak akan dapat dilakukan.

Langkah Kedua: Tulis Pengalaman Subjektif ke dalam Faktor Keupayaan

Ciri sahaja tidak mencukupi, kerana ciri hanya menerangkan pasaran, tidak secara langsung menyatakan "apakah maksud keadaan ini". Langkah seterusnya mestilah menulis pengalaman pedagang ke dalam peraturan, iaitu, berdasarkan pembolehubah keadaan semasa ini, menilai keupayaan perdagangan mana yang sedang dicetuskan.

Langkah ini adalah bahagian yang paling kuat dari segi rasa penyulingan dalam keseluruhan strategi. Kerana di sini ia bukan lagi secara abstrak mengatakan "sesuatu rangka kerja itu penting", tetapi benar-benar menulisnya ke dalam syarat program. Faktor keupayaan yang terkandung dalam pelaksanaan semasa meliputi beberapa peringkat: pembentukan, struktur, penunjuk, kitaran, dan makro. Contohnya, beberapa keupayaan berasal dari pengecaman pembentukan seperti bull flag, bear flag, double top/double bottom, head and shoulders, triangle; ada yang berasal dari analisis struktur seperti Wyckoff, SMC, ICT; ada yang berasal dari penunjuk itu sendiri seperti perbezaan RSI, golden cross/death cross, Bollinger squeeze breakout; dan ada yang berasal dari kitaran dan persekitaran makro seperti kitaran halving, peralihan antara pasaran tren dan pasaran julat, penurunan DXY, kenaikan kecenderungan risiko, dll.

Satu contoh yang sangat tipikal ialah "sambungan pullback trend". Ramai pedagang akan mempunyai pengalaman yang serupa: jika trend besar masih menaik, harga menyentuh semula purata bergerak utama, dan lilin semasa menunjukkan penerimaan, maka ini selalunya bermakna trend akan berterusan. Ungkapan program untuknya adalah sangat langsung:

python
# Menilai sama ada harga semasa hampir dengan purata bergerak 50 hari near_ma50 = abs(close - ma50_v) / close < 0.02 if close > 0 else False # Jika purata bergerak 50 hari masih di atas purata bergerak 200 hari, dan selepas sentuh semula purata bergerak muncul lilin hijau (penerimaan) # maka dicatat sebagai isyarat keupayaan sambungan trend s['cap_014_trend_pullback_continuation'] = 0.6 if (ma50_gt and near_ma50 and is_green) else 0.0

Tiada yang misteri di sini, ia hanya memecahkan satu ayat manusia kepada beberapa syarat yang boleh dinilai satu demi satu oleh mesin. Contoh lain ialah "Bollinger squeeze breakout". Bagi kebanyakan pedagang, turun naik yang menyusut untuk masa yang lama kemudian tiba-tiba melebar ke atas atau ke bawah selalunya bermakna pemilihan arah baru. Peraturan yang sepadan ditulis sebagai:

python
# Jika lebar jalur Bollinger pada lilin sebelumnya di bawah ambang mampatan, maka ia dianggap sebagai turun naik mengecut squeezed = bb_w_p1 < bb_w20_p1 if bb_w20_p1 > 0 else False # Selepas mengecut, jika menembusi ke atas jalur atas, beri isyarat positif; jika jatuh ke bawah jalur bawah, beri isyarat negatif s['cap_021_bollinger_squeeze_breakout'] = ( 0.6 if (squeezed and close > bb_u) else -0.6 if (squeezed and close < bb_l) else 0.0 )

Pemprosesan faktor makro juga sama. Bagi sejenis pedagang yang lebih cenderung makro, BTC bukanlah siri harga yang terasing sepenuhnya; ia akan dipengaruhi oleh dolar AS, pasaran saham, dan persekitaran kadar faedah, jadi pemahaman ini juga ditulis sebagai penilaian keupayaan:

python
# Kejatuhan DXY biasanya dianggap sebagai latar belakang yang positif untuk BTC s['cap_027_dxy_inverse_btc'] = 0.4 if (not _nm(dxy_r20) and dxy_r20 < -0.01) else 0.0 # Kenaikan S&P 500 boleh dianggap sebagai peningkatan sentimen risiko s['cap_028_spx_risk_on_off'] = 0.4 if (not _nm(spx_r20) and spx_r20 > 0.02) else 0.0 # Penurunan kadar faedah jangka pendek boleh dianggap sebagai peningkatan kecairan marginal s['cap_029_yields_liquidity'] = 0.4 if (not _nm(y_r20) and y_r20 < -0.02) else 0.0

Apa yang benar-benar penting dalam lapisan ini bukanlah berapa banyak peraturan yang ditulis, tetapi ia telah menyelesaikan langkah paling kritikal dalam penyulingan: memampatkan pertimbangan yang hanya boleh difahami secara subjektif menjadi syarat yang boleh dikira. Perlu dinyatakan bahawa kebanyakan faktor keupayaan dalam versi semasa masih bersifat pencetus keadaan, bukan skor berterusan. Ini bermakna sistem ini lebih kepada menilai sama ada sesuatu struktur itu wujud, bukannya menilai semula setiap pergerakan kecil secara berterusan. Ini juga menentukan bahawa ia lebih sesuai untuk jangka masa harian atau pertengahan frekuensi rendah, bukan perdagangan frekuensi tinggi.

Langkah Ketiga: Faktor tidak terus dijumlahkan, tetapi dipetakan semula ke profil pedagang

img

Jika strategi hanya berhenti di lapisan faktor, ia masih sekadar sistem peraturan biasa. Apa yang lebih istimewa tentang projek asal ialah ia tidak berhenti di sini, tetapi terus melangkah ke hadapan: faktor tidak secara langsung menentukan arah, tetapi dipetakan semula ke profil pedagang.

Ini sangat penting. Kerana dalam realiti, pedagang tidak "menggunakan semua keupayaan secara purata". Ada yang cenderung kepada trend, ada yang kepada struktur, ada yang kepada kitaran, ada yang kepada makro. Walaupun menghadapi keadaan pasaran yang sama, orang yang berbeza akan memberi tumpuan kepada perkara yang berbeza. Oleh itu, sistem tidak hanya mengambil purata semua faktor secara mudah, tetapi terlebih dahulu membaca keutamaan keupayaan setiap pedagang, kemudian mengira isyarat peribadi untuknya berdasarkan keadaan faktor semasa.

Logik pembacaan profil yang sepadan adalah seperti berikut:

python
# Baca faktor keupayaan dan pemberat yang digunakan oleh setiap pedagang dalam profil caps = {c['id']: float(c.get('weight', 0.5)) for c in p.get('capabilities_used', [])} profiles.append({ 'handle': p.get('handle', item['name'][:-5]), 'caps': caps })

Setiap profil pada asasnya menjawab satu soalan: faktor keupayaan mana yang lebih bergantung kepada pedagang ini, dan sejauh mana pemberat faktor ini dalam rangka kerjanya. Selepas mempunyai profil ini, sistem kemudiannya akan mengira "isyarat peribadi" setiap pedagang dalam pasaran semasa:

python
for p in profiles: sig = 0.0 wt = 0.0 # Lintasi semua faktor keupayaan yang diberi perhatian oleh pedagang ini for cap_id, w in p['caps'].items(): score = factor_scores.get(cap_id, 0.0) # Skor faktor semasa didarab dengan pemberat keutamaan pedagang terhadap faktor tersebut sig += w * score wt += abs(w) # Dinormalkan untuk mendapatkan isyarat peribadi pedagang dalam pasaran semasa trader_raw = sig / wt if wt > 0 else 0.0

Melihat ini, rasa sistem ini sudah sangat berbeza. Ia tidak lagi hanya melihat "faktor mana yang menyala", tetapi sedang membina semula sesuatu: jika pasaran hari ini diserahkan kepada 99 orang pedagang ini, bagaimana mereka masing-masing akan menilai.

Langkah Keempat: Dari Isyarat Peribadi ke Konsensus Berwajaran

img

Apabila isyarat peribadi setiap pedagang telah dikira, sistem kemudiannya memasuki lapisan konsensus sebenar. "Konsensus" di sini bukanlah undian mudah, apalagi siapa yang bersuara paling kuat menentukan, tetapi ia mengambil kira keberkesanan sejarah.

Dua hasil yang paling penting dalam kod semasa ialah ic_weighted dan trust_adjusted. Logik teras yang sepadan adalah:

python
# Pertama, beri wajaran positif kepada pedagang dengan IC positif untuk mendapatkan ic_weighted pos_w = sum(max(t['ic'], 0) for t in trader_signals) ic_wt = ( sum(t['signal'] * max(t['ic'], 0) for t in trader_signals) / pos_w if pos_w > 0 else 0.0 ) # trust_adjusted melangkah lebih jauh: # IC positif digunakan secara langsung, IC negatif digunakan secara terbalik, kemudian diwajibkan mengikut nilai mutlak IC abs_w = sum(abs(t['ic']) for t in trader_signals) trust = ( sum((t['signal'] if t['ic'] >= 0 else -t['signal']) * abs(t['ic']) for t in trader_signals) / abs_w if abs_w > 0 else 0.0 )

Kod ini menyatakan dua prinsip yang sangat mudah tetapi sangat penting. Pertama, pedagang yang lebih berkesan dari segi sejarah mempunyai pemberat yang lebih besar pada hari ini. Kedua, pedagang dengan prestasi sejarah IC negatif tidak dibuang, tetapi mungkin digunakan sebagai penunjuk songsang. Oleh itu, output akhir trust_adjusted bukanlah "apa pendapat semua orang", tetapi "siapa yang berpendapat apa, dan siapa yang lebih boleh dipercayai".

Inilah sebabnya sistem ini berbeza daripada model sentimen biasa. Ia tidak mengira bilangan suara, tetapi melakukan pengagregatan kognitif yang disemak sejarah. Jika keseluruhan kaedah ini dimampatkan menjadi satu ayat, ia sebenarnya: mula-mula tukarkan pasaran kepada pembolehubah keadaan, kemudian petakan pembolehubah keadaan kepada faktor keupayaan, kemudian petakan faktor keupayaan kepada isyarat peribadi pedagang, dan akhirnya agregat isyarat peribadi ini mengikut keberkesanan sejarah untuk membentuk keputusan konsensus.

img

img

Apa yang benar-benar berjaya dalam pelaksanaan di FMZ

Jika hanya kekal dalam projek penyelidikan, sistem ini lebih seperti "penganalisis konsensus"; manakala pelaksanaan di FMZ memberi tumpuan kepada menghubungkan keseluruhan rantaian supaya ia dapat berjalan secara berterusan. Kod yang paling teras sebenarnya hanya tiga baris:

python
# Langkah 1: Tukarkan sebut harga asal dan pembolehubah makro kepada keadaan berstruktur feat_df = build_features(records, macro if macro else None) # Langkah 2: Nilai faktor keupayaan mana yang dicetuskan berdasarkan pembolehubah keadaan factor_scores = evaluate_factors(feat_df) # Langkah 3: Petakan faktor keupayaan kembali ke profil pedagang dan agregatkan ke dalam hasil konsensus consensus = compute_consensus(factor_scores)

Tiga baris ini hampir merupakan tiga lapisan abstraksi yang paling penting dalam keseluruhan strategi. Lapisan pertama bertanggungjawab untuk keadaan pasaran, lapisan kedua untuk penilaian keupayaan, dan lapisan ketiga untuk konsensus pedagang. Sudah tentu, di belakangnya terdapat lapisan pelaksanaan, lapisan kawalan risiko, dan paparan status, tetapi dari segi logik penyelidikan, bahagian yang paling penting telah lengkap dan sah. Maksudnya, kepentingan pelaksanaan ini bukanlah berapa banyak butiran operasi yang ditambah, tetapi hakikat bahawa profil keupayaan dalam projek asal bukan lagi fail statik, faktor bukan lagi output penyelidikan, konsensus bukan lagi nombor dalam laporan—ia telah dihubungkan ke dalam proses penghakiman yang berjalan secara berterusan.

Mengapa Ia Masih Hanya Prototaip

Sudah tentu, pelaksanaan ini bukanlah penghujungnya. Kod semasa menggunakan rangka kerja harian BTC, jadi ia lebih sesuai untuk penghakiman konsensus frekuensi rendah hingga sederhana, bukan sistem perdagangan frekuensi tinggi. Terasnya masih berkisar pada struktur harian, kedudukan kitaran, latar belakang makro, dan keutamaan keupayaan pedagang. Selain itu, profil pedagang dan IC masih merupakan input statik, belum memasuki fasa evolusi dalam talian. Maksudnya, walaupun sistem telah menyelesaikan langkah pertama "penyulingan pengetahuan", ia belum sepenuhnya mencapai "pembetulan kendiri pengetahuan yang telah disuling".

Namun, ini tidak menghalang ia daripada menunjukkan satu perkara yang sangat penting: pengalaman pedagang boleh dimampatkan lapisan demi lapisan, distrukturkan, dan benar-benar dimasukkan ke dalam rantaian strategi. Nilainya bukanlah kerana ia telah menghasilkan pulangan yang stabil, tetapi kerana ia telah memajukan laluan penyelidikan yang pada asalnya hanya berada di peringkat konsep ke peringkat yang boleh dilaksanakan. Bagi bagaimana faktor keupayaan ini harus berkembang, bagaimana pemberat pedagang harus dikemas kini, dan bagaimana konsensus harus diperbetulkan secara berterusan dalam pasaran sebenar, ia masih memerlukan lebih banyak data operasi untuk dijawab.

Kesimpulan

Apa yang benar-benar memberi inspirasi tentang crypto-kol-quant bukanlah berapa banyak konsep popular yang digunakan, tetapi ia telah benar-benar memajukan sesuatu yang sukar untuk disistemkan: mengubah pengalaman pedagang daripada ekspresi kepada keupayaan, daripada keupayaan kepada faktor, dan daripada faktor kepada konsensus. Dan pelaksanaan di FMZ ini melakukan perkara yang tepat: menjalankan rantaian penyulingan ini. Ia tidak membesar-besarkan bahawa ia sudah menjadi penghujungnya, dan ia tidak cuba menyembunyikan hakikat bahawa ia masih merupakan prototaip awal. Tetapi ia sekurang-kurangnya membuktikan bahawa pengalaman perdagangan tidak semestinya kekal dalam carta dan bahasa; ia boleh disuling, distrukturkan, dijalankan, dan bahkan dimasukkan ke dalam sistem yang terus menilai pasaran.

Jika kuantitatif tradisional pandai mencari corak daripada siri harga, maka hala tuju yang benar-benar patut diteruskan untuk strategi seperti ini mungkin adalah: mengekstrak corak daripada kognisi manusia, dan kemudian membiarkan corak ini mengambil bahagian dalam pasaran. Dan ini, mungkin, adalah perkara yang paling patut diberi perhatian tentang "penyulingan" dalam penyelidikan strategi.

Projek Asal: 锁妖塔 Skill — 炼化99个加密交易员

Terima kasih khas kepada pengguna "GiantBin" untuk idea dan pemikiran yang disediakan. Jika anda mempunyai idea atau pemikiran yang baik, sila kongsi dan berbincang.

Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)