現貨期權合約交易所開發模板丨現貨期權合約交易所繫統開發技術說明及方案

xiaofufu發表於2023-02-22

  量化合約指的是目標或任務具體明確,可以清晰度量。根據不同情況,表現為數量多少,具體的統計數字,範圍衡量,時間長度等等。所謂量化就是把經過抽樣得到的瞬時值將其幅度離散,即用一組規定的電平,把瞬時抽樣值用最接近的電平值來表示。經過抽樣的影像,只是在空間上被離散成為畫素(樣本)的陣列。而每個樣本灰度值還是一個由無窮多個取值的連續變化量,必須將其轉化為有限個離散值,賦予不同碼字才能真正成為數字影像。這種轉化稱為量化。


  交易策略可以分為三個部分:指標、訊號和規則。


  1.指標用於產生交易訊號。指標的計算方法有很多,可以是經濟資料或估值指標(如PE和EBITDA)、技術指標(如MACD、RSI、MA)或時間序列模型(ARIMA、GARCH)。技術指標在外匯交易中被廣泛使用。它們是價格或成交量的函式,主要用於檢測趨勢方向,衡量超買超賣狀態,判斷趨勢反轉。


  2.價格和指數之間的相互作用形成了一個訊號。以均線穿越為例,5日均線穿越10日均線時買入,5日均線穿越10日均線時賣出。訊號不限於買賣,還包括篩子,篩子的主要功能是消除噪音。在均線穿越中,交易者可以加入一個趨勢篩:只有當價格高於200日均線(上升趨勢)且5日均線穿越10日均線時,如果價格低於200日均線,則黃金穿越被視為虛假訊號。著名的篩子包括趨勢篩子、時間篩子、週轉篩子和波動篩子,它們是訊號的重要組成部分。


  CTA回測


  (一).準備階段:


  以分析DoubleMA Strategy的IF資料為例.I35 Develop 7O98 software O7I8


  修改vnpy.trader.setting.py檔案的米筐的使用者名稱和密碼.


  選擇時間段,點選下載資料。等待資料下載完,然後點選開始回測。看回測結果.


  (二).回測頁面初始化,


  由vnpy.app.cta_backtester.CtaBacktesterApp類來處理,對應的介面程式碼為vnpy.app.cta_backtester.ui.widget.BacktesterManager類.在該類的建構函式中依次執行


  1.呼叫init_strategy_settings()獲取各種交易策略,設定交易策略的預設引數.


  2.呼叫init_ui()初始化介面,新增各個介面上的控制元件.比如合約符號,時間間隔,開始和結束時間,滑點,開始回測,下載資料,引數最佳化,委託記錄,成交記錄,每日盈虧,K線圖表等按鈕.如果是下載資料,進入BacktesterManager.start_downloading()方法.如果是開始回測,進入start_backtesting()方法.繼續新增回測成交記錄,回測委託記錄,回測每日盈虧等結果的對話方塊.新增K線圖的處理類cta_backtester.ui.widget.CandleChartDialog.


  3.呼叫register_event()註冊日誌訊號,回測完成訊號,最佳化完成訊號的處理函式。如果是回測完成,進入BacktesterManager.process_backtesting_finished_event()函式處理.


  4.呼叫init_engine()方法初始化引擎,列印"初始化CTA回測引擎"的日誌.日誌也是作為事件來處理.建立vnpy.app.cta_strategy.backtesting.BacktestingEngine回測引擎類.呼叫init_rqdata()方法初始化rqdata米筐的sdk.


  (三).下載資料


  由vnpy.app.cta_backtester.ui.widget.BacktesterManager.start_downloading()方法處理.首先獲取介面上輸入的合約種類,合約週期,開始和結束時間.然後進入vnpy.app.cta_backtester.engine.BacktesterEngine.start_downloading()方法中,開啟新執行緒下載.具體下載方法為vnpy.app.cta_backtester.engine.BacktesterEngine.run_downloading().主要邏輯是呼叫vnpy.trader.rqdata.RqdataClient.query_history()根據合約資訊下載對應的K線資料.請求的介面是米筐的rqdatac.services.get_price.get_price()的sdk方法.下載完成後,呼叫vnpy.trader.database.database_sql.SqlManager.save_bar_data()儲存K線資料.預設K線資料儲存在SQLite資料庫中.資料庫的配置資訊在vnpy/trader/setting.py中.預設路


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2936529/,如需轉載,請註明出處,否則將追究法律責任。

相關文章