會員註冊 / 登入  |  電腦版  |  Jump to bottom of page

投資理財 Financial Investment » [程式交易]群益期貨Python API入門 2

發表人: andowson, 七段學員
2024-11-24 18:49:51
第二步 建立程式執行環境並執行範例程式

1.安裝Anaconda
1.1 下載Andconda
https://www.anaconda.com/download
1.2 安裝Anaconda
(註: 群益期貨的API文件對開發環境IDE是建議安裝Visual Studio Code,但這樣需要另外安裝Python套件,目前我比較偏好使用Anaconda整合環境,內含Python套件,同時可以搭配Jupyter Notebook使用,故選擇以安裝Anaconda為執行環境)
(參閱文件: 群益PythonAPI使用前看我看我.docx)

2.安裝群益期貨API依賴的Python套件
2.1 開啟Anaconda Prompt
2.2 安裝comtypes及pywin32: 在Anaconda Prompt下輸入
pip install comtypes pywin32

(參閱文件: 群益PythonAPI使用前看我看我.docx)

3.複製範例程式到D:\SKCOM\x64目錄下
3.1 複製D:\SKCOM\CapitalAPI_2.13.51_PythonExample\PythonExampleV2\Quote\Quote目錄底下所有程式到D:\SKCOM\x64目錄下

4.執行Quote.py
4.1 回到Anaconda Prompt
4.2 切換目錄到D:\SKCOM\x64目錄下: cd D:\SKCOM\x64
4.3 用Python執行Quote.py: python Quote.py
4.4 確認有跳出一個視窗顯示Quote

5.測試Quote.py
5.1 輸入UserID和Password,按下Login
5.2 登入後請選擇這裡=>:選擇更新帳號
5.3 登入後請選擇這裡=>:下拉式選單選擇身分證字號,後面的下拉式選單選擇期貨帳號
5.4 連線環境:選擇正式環境
5.5 按下連線,確認有跳出另一個視窗Connect
5.6 按連線報價主機
5.7 按檢查連線狀態: 確認出現連線中(其他按鈕也可以按按看,自行測試),然後關閉這個視窗
5.8 按下即時報價,確認出現一個新的視窗顯示Request
5.9 在Page輸入1,請輸入商品代號輸入TX00,MTX00,TM0000,按下訂閱
5.10檢查是否出現報價
5.11關閉視窗,結束程式




[Thumb - Quote.py測試畫面.PNG]
檔案名稱 Quote.py測試畫面.PNG
描述 群益期貨API範例程式Quote.py測試畫面
檔案大小 75 Kbytes
下載次數 1 次
[Disk] 下載


發表人: andowson, 七段學員
2024-11-24 19:37:53
如果有執行到Quote.py的五檔&成交明細,會發現在成交彙總(時間/成交價/成交量)上的時間顯示出現奇怪的時間,例如45:95:8。
原來是群益期貨的程式範例Quote.py在259~261這三行對時間45958的拆解有誤,夜盤結束時間是上午5:00:00,最後成交時間應該是4:59:58才對。

另外在凌晨12點或0點到1點時,前面的0會被去掉,變成長度只有4碼,只有分跟秒。

因為一般時間格式通常是六位數hhmmss,如果當時間變成五位數hmmss時用原來的方式會拆分錯誤,所以我們可以補上字串長度判斷,決定要用哪種格式來解析時間數字
修正前:

hour = str(nTimehms)[:2]
min = str(nTimehms)[2:4]
sec = str(nTimehms)[4:6]

修正後:

if len(str(nTimehms)) == 6:
hour = str(nTimehms)[:2]
min = str(nTimehms)[2:4]
sec = str(nTimehms)[4:6]
elif len(str(nTimehms)) == 5:
hour = str(nTimehms)[:1]
min = str(nTimehms)[1:3]
sec = str(nTimehms)[3:5]
else:
hour = "0"
min = str(nTimehms)[:1]
sec = str(nTimehms)[1:3]

檔案名稱 Quote.py
描述 修改後的Quote.py
檔案大小 87 Kbytes
下載次數 3 次
[Disk] 下載





會員註冊 / 登入  |  電腦版  |  Jump to top of page