Ingin membaca ini dalam bahasa Inggris ?
VeighNa adalah kerangka pengembangan sistem perdagangan kuantitatif sumber terbuka berdasarkan Python. Dengan kontribusi berkelanjutan dari komunitas sumber terbuka, VeighNa secara bertahap berkembang menjadi platform perdagangan kuantitatif multi-fungsi. Sejak dirilis, VeighNa telah mengumpulkan banyak pengguna dari lembaga keuangan atau terkait bidang, termasuk ekuitas swasta, perusahaan sekuritas, perusahaan berjangka, dll.
[Terminal Kuantitatif VeighNa Elite] untuk pedagang profesional telah resmi dirilis, memberikan dukungan sempurna untuk kebutuhan pedagang profesional dalam hal konkurensi strategi besar-besaran, perpindahan posisi cerdas, eksekusi pemisahan algoritma, dan dukungan perdagangan multi-akun. Untuk informasi lebih detail, silakan pindai kode QR di bawah untuk mengikuti dan klik [Komunitas Komunitas -> Layanan Keanggotaan Elite] di bilah menu :
Jika Anda memiliki pertanyaan selama proses penggunaan VeighNa untuk pengembangan sekunder (strategi, modul, dll.), silakan periksa dokumentasi proyek VeighNa . Jika Anda tidak dapat menyelesaikan masalah, silakan buka bagian [Tanya dan Bantuan] di situs resmi forum komunitas untuk bantuan. Anda juga dipersilakan untuk [Berbagi Pengalaman] Bagikan pengalaman Anda menggunakan bagian ini!
Ingin mendapatkan informasi lebih lanjut tentang VeighNa? Silakan pindai kode QR di bawah ini untuk menambahkan asisten untuk bergabung dengan [grup WeChat komunikasi komunitas VeighNa]:
Platform perdagangan kuantitatif multi-fungsi (Trader), yang mengintegrasikan berbagai antarmuka perdagangan dan menyediakan API sederhana dan mudah digunakan untuk algoritma strategi tertentu dan pengembangan fungsi, untuk dengan cepat membangun aplikasi perdagangan kuantitatif yang dibutuhkan oleh para pedagang.
Antarmuka perdagangan (gateway) yang mencakup produk perdagangan berikut yang dimiliki di dalam dan luar negeri:
pasar domestik
CTP (ctp): Kontrak berjangka dan opsi dalam negeri
CTP Mini (mini): Kontrak berjangka dan opsi dalam negeri
CTP Securities (sopt): opsi ETF
Femas: masa depan domestik
Hang Seng UFT (uft): Kontrak berjangka domestik, opsi ETF
esunny: berjangka domestik, emas TD
Apex Feichuang (detik): Opsi ETF
Vertex HTS (hts): Opsi ETF
Zhongtai XTP (xtp): sekuritas domestik (saham A), opsi ETF
Singularitas Huaxin (tora): sekuritas domestik (saham A), opsi ETF
Guotai Junan (hft): Sekuritas domestik (saham A, jasa keuangan)
Topix OST (ost): Sekuritas dalam negeri (saham A)
Oriental Fortune EMT (emt): Sekuritas Domestik (Saham A)
Tupai Terbang (sgit): TD emas, berjangka domestik
ksgold: Emas TD
Lei Xing Asset Management (lstar): Manajemen Aset Berjangka
Rohon: Manajemen Aset Berjangka
ya: manajemen aset berjangka
Zhonghui Yida (comstar): pasar antar bank
Nuggets (gm): Sekuritas Dalam Negeri (Simulasi)
Hang Seng Cloud UF (uf): Sekuritas Dalam Negeri (Simulasi)
TTS (tts): Kontrak berjangka dalam negeri (simulasi)
pasar luar negeri
Pialang Interaktif (ib): sekuritas luar negeri, kontrak berjangka, opsi, logam mulia, dll.
Disk eksternal Yisheng 9.0 (ketuk): kontrak berjangka luar negeri
Direct Futures (da): Kontrak Berjangka Luar Negeri
Aplikasi khusus
Kutipan RQData (rqdata): Kutipan waktu nyata di seluruh pasar (saham, indeks, ETF, kontrak berjangka)
Kutipan Xun Touyan (xt): Kutipan real-time di seluruh pasar (saham, indeks, obligasi konversi, ETF, kontrak berjangka, opsi)
Layanan RPC (rpc): antarmuka komunikasi lintas proses untuk arsitektur terdistribusi
Aplikasi perdagangan (apps) yang mencakup jenis strategi kuantitatif berikut:
cta_strategy: Modul mesin strategi CTA, dengan tetap menjaga kemudahan penggunaan, memungkinkan pengguna melakukan kontrol menyeluruh atas pelaporan yang ditugaskan dan perilaku penarikan selama pengoperasian strategi CTA (mengurangi slip transaksi dan menerapkan strategi frekuensi tinggi)
cta_backtester: Modul backtest strategi CTA, tanpa menggunakan Jupyter Notebook, langsung menggunakan antarmuka grafis untuk melakukan analisis backtest strategi, pengoptimalan parameter, dan pekerjaan terkait lainnya
spread_trading: Modul perdagangan spread, mendukung spread khusus, perhitungan kuotasi dan posisi spread secara real-time, mendukung perdagangan algoritma spread dan mode strategi spread otomatis
option_master: Modul perdagangan opsi, dirancang untuk pasar opsi domestik, mendukung beberapa model penetapan harga opsi, perhitungan permukaan volatilitas tersirat, pelacakan risiko nilai Yunani dan fungsi lainnya
portfolio_strategy: Modul strategi portofolio, untuk strategi kuantitatif (Alpha, arbitrase opsi, dll.) yang memperdagangkan banyak kontrak secara bersamaan, menyediakan pengujian ulang data historis dan fungsi perdagangan otomatis waktu nyata
algo_trading: Modul perdagangan algoritmik, menyediakan berbagai algoritma perdagangan cerdas yang umum digunakan: TWAP, Sniper, Iceberg, BestLimit, dll.
script_trader: modul strategi skrip, dirancang untuk strategi kuantitatif multi-standar dan tugas perhitungan. Ia juga dapat mengimplementasikan transaksi dalam bentuk instruksi REPL pada baris perintah.
paper_account: modul simulasi lokal, fungsi perdagangan simulasi yang murni dilokalkan, pencocokan yang dipercayakan berdasarkan kondisi pasar waktu nyata yang diperoleh dari antarmuka perdagangan, dan dilengkapi dengan dorongan transaksi yang dipercayakan dan catatan posisi
chart_wizard: Modul grafik K-line, yang memperoleh data historis berdasarkan layanan data RQData (futures) atau antarmuka perdagangan, dan menampilkan perubahan pasar real-time yang dikombinasikan dengan Tick push
portfolio_manager: Modul manajemen portofolio perdagangan, berdasarkan portofolio perdagangan strategis independen (sub-akun), menyediakan manajemen catatan transaksi yang ditugaskan, pelacakan posisi perdagangan secara otomatis, dan statistik keuntungan dan kerugian harian secara real-time.
rpc_service: Modul layanan RPC, yang memungkinkan proses tertentu dimulai sebagai server. Sebagai saluran perutean pasar dan transaksi terpadu, modul ini memungkinkan banyak klien terhubung pada saat yang sama untuk mengimplementasikan sistem terdistribusi multi-proses.
data_manager: modul manajemen data historis, melihat ikhtisar data yang ada di database melalui direktori pohon, memilih data dalam periode waktu apa pun untuk melihat detail bidang, mendukung impor data dan ekspor file CSV
data_recorder: Modul pencatatan pasar, dikonfigurasikan berdasarkan antarmuka grafis, mencatat kondisi pasar Tick atau K-line secara real time ke database sesuai kebutuhan, untuk backtesting strategi atau inisialisasi pasar nyata
excel_rtd: Layanan data real-time Excel RTD (Real Time Data), berdasarkan modul pyxll untuk mendapatkan pembaruan push real-time dari berbagai data (pasar, kontrak, posisi, dll.) di Excel
risk_manager: Modul manajemen risiko, yang menyediakan statistik dan batasan pada kontrol aliran transaksi, jumlah pesanan, kepercayaan aktivitas, jumlah total pembatalan pesanan, dan aturan lainnya, yang secara efektif mewujudkan fungsi kontrol risiko front-end.
web_trader: Modul layanan web, dirancang untuk persyaratan arsitektur BS, mengimplementasikan server Web yang menyediakan panggilan fungsi aktif (REST) dan dorongan data pasif (Websocket)
Enkapsulasi antarmuka API transaksi Python (api) menyediakan implementasi docking yang mendasari antarmuka transaksi di atas.
REST Client (rest): Klien REST API berkinerja tinggi berdasarkan IO asinkron coroutine, menggunakan model pemrograman loop pesan peristiwa untuk mendukung pengiriman permintaan transaksi real-time dengan konkurensi tinggi
Klien Websocket (websocket): Klien API Websocket berkinerja tinggi berdasarkan IO asinkron coroutine, yang mendukung jalannya loop peristiwa bersama secara bersamaan dengan REST Client.
Mesin berbasis peristiwa (event) yang sederhana dan mudah digunakan berfungsi sebagai inti dari program perdagangan berbasis peristiwa.
Antarmuka adaptor untuk docking berbagai database (database):
kelas SQL
SQLite (sqlite): database file tunggal yang ringan, tidak perlu menginstal dan mengkonfigurasi program layanan data, opsi default VeighNa, cocok untuk pengguna pemula
MySQL (mysql): database relasional open source mainstream dengan dokumentasi yang sangat kaya dan dapat menggantikan implementasi lain yang kompatibel dengan NewSQL (seperti TiDB)
PostgreSQL (postgresql): database relasional open source dengan fitur yang lebih kaya. Mendukung fungsi baru melalui plug-in ekstensi.
kelas NoSQL
DolphinDB (dolphindb): database deret waktu terdistribusi berkinerja tinggi, cocok untuk tugas latensi rendah atau waktu nyata dengan persyaratan kecepatan sangat tinggi
Arktik (Arktik): Basis data deret waktu keuangan berkinerja tinggi yang mengadopsi solusi pengoptimalan kinerja seperti penyimpanan blok dan kompresi LZ4 untuk mencapai pembacaan dan penulisan data deret waktu yang efisien.
TDengine (taos): database deret waktu terdistribusi, berkinerja tinggi, dan didukung SQL dengan caching bawaan, komputasi streaming, langganan data, dan fungsi sistem lainnya, yang dapat sangat mengurangi kompleksitas penelitian dan pengembangan serta pengoperasian dan pemeliharaan.
TimescaleDB (timescaledb): database deret waktu yang dikembangkan berdasarkan PostgreSQL. Ini diinstal sebagai ekstensi plug-in dan mendukung partisi data otomatis berdasarkan ruang dan waktu.
MongoDB (mongodb): Basis data dokumen berdasarkan penyimpanan file terdistribusi (format bson). Cache memori data panas bawaan memberikan kecepatan membaca dan menulis yang lebih cepat.
InfluxDB (influxdb): Basis data deret waktu yang dirancang khusus untuk Data TimeSeries. Penyimpanan data kolom memberikan efisiensi baca dan tulis yang sangat tinggi serta aplikasi analisis periferal.
LevelDB (leveldb): database Kunci/Nilai berkinerja tinggi yang diluncurkan oleh Google. Ini mengimplementasikan mesin penyimpanan dalam proses berdasarkan algoritma LSM dan mendukung miliaran data besar.
Antarmuka adaptor (umpan data) untuk menyambungkan jenis layanan data berikut:
Xun Investment Research (xt): saham, futures, opsi, dana, obligasi
MiKang RQData (rqdata): saham, futures, opsi, dana, obligasi, emas TD
Wing Chun Master (voltrader): masa depan, opsi
Hang Seng UData (udata): saham, futures, opsi
TuShare (tushare): saham, futures, opsi, dana
Angin (wind): saham, futures, dana, obligasi
Tinysoft (tinysoft): saham, futures, dana, obligasi
Flush iFinD (ifind): saham, futures, dana, obligasi
Tianqin TQSDK (tqsdk): Berjangka
Komponen standar komunikasi lintas proses (rpc), digunakan untuk mengimplementasikan sistem perdagangan kompleks dengan penerapan terdistribusi.
Bagan garis K (bagan) berkinerja tinggi Python mendukung tampilan bagan volume data besar dan fungsi pembaruan data waktu nyata.
Forum komunitas dan kolom Zhihu mencakup tutorial pengembangan proyek VeighNa dan penelitian tentang penerapan Python di bidang perdagangan kuantitatif.
Grup komunikasi resmi 262656087 (QQ) dikelola dengan ketat (anggota yang sudah lama menjadi penyelam dikeluarkan secara berkala), dan biaya masuk grup akan disumbangkan ke dana komunitas VeighNa.
Catatan: Deskripsi fitur fungsional di atas didasarkan pada situasi pada saat dokumentasi dirilis, dan dapat diperbarui atau disesuaikan di masa mendatang. Jika deskripsi fungsi berbeda dari keberadaan sebenarnya, silakan hubungi kami melalui Masalah untuk penyesuaian.
Unduh versi Rilis di sini, unzip dan jalankan perintah berikut untuk menginstalnya:
jendela
install.bat
Ubuntu
bash install.sh
makro
bash install_osx.sh
Catatan: Pustaka dependen yang diperlukan untuk instalasi kerangka kerja VeighNa tercantum di setup.cfg, dan versi instalasi yang disarankan dari pustaka dependen ini diberikan di persyaratan.txt.
Daftarkan akun simulasi CTP di SimNow dan dapatkan kode broker dan alamat server kutipan perdagangan di halaman ini.
Daftar di Forum Komunitas VeighNa untuk mendapatkan akun dan kata sandi Stasiun VeighNa (akun forum dan kata sandinya sama)
Mulai VeighNa Station (pintasan akan dibuat secara otomatis di desktop setelah menginstal VeighNa Studio), masukkan akun dan kata sandi dari langkah sebelumnya untuk masuk
Klik tombol VeighNa Trader di bagian bawah untuk memulai perdagangan Anda! ! !
Melihat:
Selain metode startup grafis berdasarkan VeighNa Station, Anda juga dapat membuat run.py di direktori mana pun dan menulis kode contoh berikut:
from vnpy . event import EventEngine
from vnpy . trader . engine import MainEngine
from vnpy . trader . ui import MainWindow , create_qapp
from vnpy_ctp import CtpGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp
def main ():
"""Start VeighNa Trader"""
qapp = create_qapp ()
event_engine = EventEngine ()
main_engine = MainEngine ( event_engine )
main_engine . add_gateway ( CtpGateway )
main_engine . add_app ( CtaStrategyApp )
main_engine . add_app ( CtaBacktesterApp )
main_window = MainWindow ( main_engine , event_engine )
main_window . showMaximized ()
qapp . exec ()
if __name__ == "__main__" :
main ()
Buka CMD di direktori ini (tahan Shift->klik kanan mouse->buka jendela perintah/PowerShell di sini) dan jalankan perintah berikut untuk memulai VeighNa Trader:
python run.py
VeighNa menggunakan Github untuk menghosting kode sumbernya. Jika Anda ingin menyumbangkan kode, silakan gunakan proses PR (Pull Request) github:
Buat Masalah - Untuk perubahan yang lebih besar (seperti fitur baru, pemfaktoran ulang skala besar, dll.), disarankan untuk membuka masalah untuk mendiskusikannya terlebih dahulu. Untuk perbaikan yang lebih kecil (seperti perbaikan dokumen, perbaikan bug, dll.), cukup kirim PR secara langsung.
Fork VeighNa - Klik tombol Fork di pojok kanan atas
Kloning garpu Anda sendiri: git clone https://github.com/$userid/vnpy.git
Buat cabang fitur Anda sendiri dari dev : git checkout -b $my_feature_branch dev
Ubah $my_feature_branch dan dorong perubahan ke fork Anda
Buat [Permintaan Tarik] dari cabang $my_feature_branch dari fork Anda ke cabang dev dari proyek utama - klik bandingkan antar fork di sini, pilih fork dan cabang yang diperlukan untuk membuat PR
Menunggu review, perlu terus ditingkatkan, atau digabungkan!
Saat mengirimkan kode, harap patuhi aturan berikut untuk meningkatkan kualitas kode:
flake8
di direktori root proyek. MIT