㈠ 怎樣用 Python 寫一個股票自動交易的程序
國外有自動交易軟體。只需要寫插件就可以。如果用python重新寫,有些麻煩。如果證券交易公司提供API,就容易。
我記得2004年左右是通過API實現的。
有個朋友做過一個貴金屬的自動交易。不過2年後,虧了不少。
㈡ 怎樣用 Python 寫一個股票自動交易的程序
股票自動交易助手提供了一個 Python 自動下單介面,參考代碼
#股票自動交易助手Python自動下單使用例子
#把此腳本和StockOrderApi.pyOrder.dll放到你自己編寫的腳本同一目錄
fromStockOrderApiimport*
#買入測試
#Buy(u"600000",100,0,1,0)
#賣出測試,是持倉股才會有動作
#Sell(u"000100",100,0,1,0)
#賬戶信息
print("股票自動交易介面測試")
print("賬戶信息")
print("--------------------------------")
arrAccountInfo=["總資產","可用資金","持倉總市值","總盈利金額","持倉數量"];
foriinrange(0,len(arrAccountInfo)):
value=GetAccountInfo(u"",i,0)
print("%s%f"%(arrAccountInfo[i],value))
print("--------------------------------")
print("")
print("股票持倉")
print("--------------------------------")
#取出所有的持倉股票代碼,結果以','隔開的
allStockCode=GetAllPositionCode(0)
allStockCodeArray=allStockCode.split(',')
foriinrange(0,len(allStockCodeArray)):
vol=GetPosInfo(allStockCodeArray[i],0,0)
changeP=GetPosInfo(allStockCodeArray[i],4,0)
print("%s%d%.2f%%"%(allStockCodeArray[i],vol,changeP))
print("--------------------------------")
㈢ 怎樣用 Python 寫一個股票自動交易的程序
方法一
前期的數據抓取和分析可能python都寫好了,所以差這交易指令介面最後一步。對於股票的散戶,正規的法子是華寶,國信,興業這樣願意給介面的券商,但貌似開戶費很高才給這權利,而且只有lts,ctp這樣的c++介面,沒python版就需要你自己封裝。
方法二
是wind這樣的軟體也有直接的介面,支持部分券商,但也貴,幾萬一年是要的。
方法三
滑鼠鍵盤模擬法,很復雜的,就是模擬鍵盤滑鼠去操作一些軟體,比如券商版交易軟體和大智慧之類的。
方法四
就是找到這些軟體的關於交易指令的底層代碼並更改,不過T+1的規則下,預測准確率的重要性高於交易的及時性,花功夫做數據分析就好,交易就人工完成吧
㈣ 如何用Python炒股
如果想直接執行python程序的話可以寫一個.bat新建一個記事本,然後寫一段下面的代碼,最後存成.bat文件,以後直接執行這段代碼就可以了。其實也可以直接執行.py文件c:\program files\python file.py
㈤ python開發EA外匯交易怎麼開發
1.首先,你要有一個EA,必須要有以ex4為擴展名的,如果只有mq4文件的話,就要用MetaTrader自帶的編輯器MetaEditor打開,將mq4通過編譯(compile)並且要不出現錯誤,才能在原存放mq4的文件夾下面得到一個同名的ex4文件。
2.將這個ex4文件復制到MetaTrader 4所在的文件夾下面的experts文件夾下,比如:D:Program FilesACTC MetaTrader 4experts,關閉並重新打開MetaTrader 4。
3.在「導航」下面的「智能交易系統」下面右鍵點擊你想要使用的EA。
拓展資料:
1、 對於想要在 mt5+python 發展 ea 的交易者,最大會立即遇到的困難是,mt5 現在還沒有提供 python 可以調用 mt5 backtest 的介面,也就是在 python 上開發 ea 是無法在 mt5 上作復盤測試的,只能另外再找 python 的第三方 backtest 庫再多寫介面來達成。 復盤不是只有驗證策略的有效性,也扮演調試策略參數的重要工作,所以復盤對於開發 ea 是相當重要的環節。
2、另外在執行速度上,mt5+python ea 的速度自然是無法和純在 mt5 開發的 ea 相比,這個是實際執行壓力測試後得到的結論。因為 mt5+python ea 在調用當前價格和 K 線數據作為信號計算,和調用交易記錄,需要透過 mt5 python 官方庫與 mt5 建立在本地的一個加密的 socket 連接來作,讀寫速度自然是比不過 mt5 ea 直接從 mt5 內存讀取行情數據和訂單信息。雖然 python 是腳本編程語言,與其他編譯型的編程語言程序比自然是不快,但是對於 ea 的應用,這樣的慢是不太感受的到,可以直接感受到與相同 mt5 ea 的慢,主要是慢在與 mt5 間的大量數據傳送和 io 讀寫差異上,尤其是連續調用行情數據比較多時,這樣的速度差異就相當明顯了。
3、這還是有優化方式的,可以仿 mql5 指標對於初始和後續的行情讀取,採取精簡量的讀取方式。 既然有這些缺點,在 mt5 開發薯轎 python ea 還是在有些領域有不可替代的優點,所以 metaquotes 才會在 2020 年最終還是把 python 介面和函數庫提供出來。因為現在許多衍生性交易平台都已經具備了 python api,而經過這些年,python 已經成為量化交易程序最有人氣的編程語言,搜廳這也讓許多交易團隊在建構量化交易的環境,會優先考慮 python。 另外在人工智慧的量化交易,python 的機器學習數漏肆和統計數組處理的第三方庫大概是最豐富的編程語言。對於交易策略里有用到 tensorflow 這類機器學習庫,使用 python 來開發自動交易程序是最佳的選擇。 mt5 或是 mt4 ea 受限於當時 metaquotes 自定的限制,只能作單線程運行,當同時觸發事件函數如 OnTimer OnTick OnChartEvent,mt5 底層會作互斥鎖限制一個線程運行。
操作環境: 瀏覽器 電腦端:macbookpro mos14打開goole版本 92.0.4515.131
㈥ 怎樣用python處理股票
用Python處理股票需要獲取股票數據,以國內股票數據為例,可以安裝Python的第三方庫:tushare;一個國內股票數據獲取包。可以在網路中搜索「Python tushare」來查詢相關資料,或者在tushare的官網上查詢說明文檔。
㈦ 怎麼學習python量化交易
下面教你八步寫個量化交易策略——單股票均線策略
1 確定策略內容與框架
若昨日收盤價高出過去20日平均價今天開盤買入股票
若昨日收盤價低於過去20日平均價今天開盤賣出股票
只操作一隻股票,很簡單對吧,但怎麼用代碼說給計算機聽呢?
想想人是怎麼操作的,應該包括這樣兩個部分
既然是單股票策略,事先決定好交易哪一個股票。
每天看看昨日收盤價是否高出過去20日平均價,是的話開盤就買入,不是開盤就賣出。每天都這么做,循環下去。
對應代碼也是這兩個部分
definitialize(context):
用來寫最開始要做什麼的地方
defhandle_data(context,data):
用來寫每天循環要做什麼的地方
2 初始化
我們要寫設置要交易的股票的代碼,比如 兔寶寶(002043)
definitialize(context):
g.security='002043.XSHE'#存入兔寶寶的股票代碼
3 獲取收盤價與均價
首先,獲取昨日股票的收盤價
#用法:變數=data[股票代碼].close
last_price=data[g.security].close#取得最近日收盤價,命名為last_price
然後,獲取近二十日股票收盤價的平均價
#用法:變數=data[股票代碼].mavg(天數,『close』)
#獲取近二十日股票收盤價的平均價,命名為average_price
average_price=data[g.security].mavg(20,'close')
4 判斷是否買賣
數據都獲取完,該做買賣判斷了
#如果昨日收盤價高出二十日平均價,則買入,否則賣出
iflast_price>average_price:
買入
eliflast_price<average_price:
賣出
問題來了,現在該寫買賣下單了,但是拿多少錢去買我們還沒有告訴計算機,所以每天還要獲取賬戶里現金量。
#用法:變數=context.portfolio.cash
cash=context.portfolio.cash#取得當前的現金量,命名為cash
5 買入賣出
#用法:order_value(要買入股票股票的股票代碼,要多少錢去買)
order_value(g.security,cash)#用當前所有資金買入股票
#用法:order_target(要買賣股票的股票代碼,目標持倉金額)
order_target(g.security,0)#將股票倉位調整到0,即全賣出
6 策略代碼寫完,進行回測
把買入賣出的代碼寫好,策略就寫完了,如下
definitialize(context):#初始化
g.security='002043.XSHE'#股票名:兔寶寶
defhandle_data(context,data):#每日循環
last_price=data[g.security].close#取得最近日收盤價
#取得過去二十天的平均價格
average_price=data[g.security].mavg(20,'close')
cash=context.portfolio.cash#取得當前的現金
#如果昨日收盤價高出二十日平均價,則買入,否則賣出。
iflast_price>average_price:
order_value(g.security,cash)#用當前所有資金買入股票
eliflast_price<average_price:
order_target(g.security,0)#將股票倉位調整到0,即全賣出
現在,在策略回測界面右上部,設置回測時間從20140101到20160601,設置初始資金100000,設置回測頻率,然後點擊運行回測。
7 建立模擬交易,使策略和行情實時連接自動運行
策略寫好,回測完成,點擊回測結果界面(如上圖)右上部紅色模擬交易按鈕,新建模擬交易如下圖。 寫好交易名稱,設置初始資金,數據頻率,此處是每天,設置好後點提交。
8 開啟微信通知,接收交易信號
點擊聚寬導航欄我的交易,可以看到創建的模擬交易,如下圖。 點擊右邊的微信通知開關,將OFF調到ON,按照指示掃描二維碼,綁定微信,就能微信接收交易信號了。
㈧ 想編寫股票自動交易軟體,學什麼語言好
Python 作為自動化交易的入門編程的計算機語言還不錯。也可參考現有的雲交易(或自動炒股交易)軟體,畢竟已投入使用的產品相對來說會更成熟和穩定。