天天看點

python 同花順thstrader_GitHub - mzs0207/THSTrader: 量化交易。最新版通用版同花順用戶端的python API。(Python3)...

THSTrader

量化交易。通用版同花順用戶端的python API。(Python3)

為什麼有這個項目

本來看到了這個easytrader這個項目,不過這個用戶端已經過時了(被強制更新)。于是乎,自己看了一遍easytrader的源碼,寫了一個自己的版本。

未知的BUG

在某些電腦上面驗證碼截圖失效導緻無法使用(該問題出現在我蘋果電腦上面裝的windows虛拟機)

安裝說明

同花順用戶端安裝

下載下傳連結

tesseract-ocr安裝

python環境安裝

pip3 install -r requirements.txt

操作接口(API)

說明

首先登陸同花順用戶端,然後打開下單程式。

注意:使用過程中請保證下單程式處于可視狀态,不要最小化同花順用戶端。

示例代碼

from THS.THSTrader import THSTrader

if __name__ == "__main__":

trader = THSTrader(r"C:\同花順軟體\同花順\xiadan.exe") # 連接配接用戶端

print(trader.get_balance()) # 擷取目前可用資金

print(trader.get_position()) # 擷取目前持有的股票

print(trader.sell(stock_no="162411", amount=100, price=0.62)) # 賣出股票

result = trader.buy(stock_no="162411", amount=100, price=0.541) # 買入股票

print(result)

if result["success"] == True: # 如果買入下單成功,嘗試撤單

print("撤單測試--->", end="")

print(trader.cancel_entrust(entrust_no=result["entrust_no"]))

擷取目前可用資金

trader.get_balance()

傳回:

{

'資金餘額': 198577.0,

'可用金額': 197264.69,

'可取金額': 0.0,

'股票市值': 2869.4,

'總資産': 200134.09

}

擷取目前持有的股票

trader.get_position()

傳回:

[{

'證券代碼': 2024,

'證券名稱': '蘇甯易購',

'股票餘額': 100,

'可用餘額': 0,

'當機數量': 100,

'盈虧': -0.31,

'成本價': 13.123,

'盈虧比例(%)': -0.02,

'市價': 13.12,

'市值': 1312.0,

'交易市場': '深圳A股',

'股東帳戶': 101106569,

'實際數量': 100,

'可申贖數量': 100

}, {

'證券代碼': 162411,

'證券名稱': '華寶油氣',

'股票餘額': 2600,

'可用餘額': 2600,

'當機數量': 0,

'盈虧': 134.4,

'成本價': 0.547,

'盈虧比例(%)': 9.44,

'市價': 0.6,

'市值': 1557.4,

'交易市場': '深圳A股',

'股東帳戶': 101106569,

'實際數量': 2600,

'可申贖數量': 2600

}]

買入股票

trader.buy(stock_no="162411", amount=100, price=0.541)

傳回:

{

'success': True,

'msg': '您的買入委托已成功送出,合同編号:873674677。',

'entrust_no': '873674677'

}

賣出股票

trader.sell(stock_no="162411", amount=100, price=0.62)

傳回:

{

'success': True,

'msg': '您的賣出委托已成功送出,合同編号:873679996。',

'entrust_no': '873679996'

}

買賣撤單

trader.cancel_entrust(entrust_no="873674677")

傳回:

{

'success': True,

'msg': '您的撤單委托已成功送出,合同編号:873674677。',

'entrust_no': '873674677'

}

LICENSE

GPL-3.0