關於 Excel VBA 程式交易

Excel是 Microsoft 公司所發展出來的,為目前 Windows 環境下非常受歡迎的整合性套裝軟體,具備
試算表 spreadsheet 、資料的編輯(包括修改、複製、刪除)、運算處理(如公式、函數之運算)等功能,對於金融商品的即時資料分析也能起到非常强大的作用。

 

RTD v.s. DDE

在過去,要實現即時資料的串接,需要靠 Dynamic Data Exchange(DDE) 技術來訪問即時資源,但 DDE 和標準的 Excel 函式樣式有很大的不同,不是為 Excel 獲取即時資料而設計的因此效率不高。

VolTrader 通過 Excel RTD 函式與即時資料進行互動,當你要進行交易系統建置時,交易模型必須使用實時的行情進行相關計算,此時通過 RTD 獲取即時數據就可以在這個基礎進行動態的建模和分析。

*資料來源
https://www.itread01.com/p/612981.html

 

開始使用

在 VolTrader 使用 Excel 開發你的程式交易是非常簡單的事,你只需要 Excel + VBA 就可以了。雖然 RTD 可以支持的版本為 2013,但我們還是强烈的建議您使用 Office 365 Excel ,因爲我們的相關測試都是在 Office 365 下進行。

購買鏈接》

https://www.microsoft.com/zh-tw/microsoft-365/buy/microsoft-365

 

在工作表接入 RTD 即時行情

1、請點擊視窗左下 Excel 圖示啓動 Excel RTD 即時行情服務。

 

2、打開 VolTrader 的【期貨行情】報價,在商品列表點擊滑鼠【右鍵】,然後選擇【複製合約 RTD 標簽】。

 

3、在 Excel 工作表儲存格點擊【右鍵】,選擇【貼上】即可完成 RTD 即時行情接入。

 

使用我們提供的 Excel VBA 函數

我們以【Library】的方式,提供了實用的 VBA 函數可,使用前你必須完成下列的設定:

  • 打開【開發人員】選項
  • 設定我們提供的【Library】

完成後,你可以通過 VBA 取用下列的函數

函數 説明 備注

Connect()

建立與 VolTrader 的連線  

Logout()

斷開與 VolTrader 的連線  

query_all_instrument()

查詢全部合約内容

Fut = 期貨, Opt = 選擇全, Stock = 股票

query_instrument()

查詢單一合約内容  

SendOrder()

下單 詳情請見範例内容

killOrder()

刪單  

vt_OnExecutionReport()

委託回報 callback function

vt_OnMarginUpdate(

資金查詢 callback function

 

打開【開發人員】選項

1、在 Excel 的開始表單選擇【選項】。

 

2、選擇【自訂功能區】,勾選【開發人員】,按下【確定】完成設定。

 

3、完成後,即可在選單使用【開發人員】功能。

 

載入 VolTrader Excel Library

1、選擇【開發人員】,點擊 Visual Basic 打開 VBA 程式編輯器。



2、强烈建議打開【即時運算視窗】,能幫助加速程式開發與 Debug。

 

3、點擊【工具】》【設定引用項目】

 

4. 點擊【瀏覽】

 

5. 在檔案瀏覽器選擇 C:\TCVolTrader\APPs(CB)\Excel\TCExcelLib64.tlb

 

6、請務必記得勾選【TCExcelLib】項目後,按下確定完成設定。



開發測試

完成上述的環境設定,你就開發你的交易模型與策略了,我們提供了一個簡單的 VBA 範例程式,你可以下載使用,有任何的問題請加入 line@touchance 詢問。

下載範例程式》https://www.touchance.com.tw/voltrader/sample/excel/vt_excel_sample.xlsm