本文目錄一覽:
python怎麼分析所有股票
在 Python的QSTK中,是通過 s_datapath 變量,定義相應股票數據所在的文件夾。一般可以通過 QSDATA 這個環境變量來設置對應的數據文件夾。
具體的股票數據來源,例如滬深、港股等市場,你可以使用免費的WDZ程序輸出相應日線、5分鐘數據到 s_datapath 變量所指定的文件夾中。然後可使用 Python的QSTK中,qstkutil.DataAccess進行數據訪問。
怎麼學習python量化交易?
下面教你八步寫個量化交易策略——單股票均線策略
1 確定策略內容與框架
若昨日收盤價高出過去20日平均價今天開盤買入股票
若昨日收盤價低於過去20日平均價今天開盤賣出股票
只操作一隻股票,很簡單對吧,但怎麼用代碼說給計算機聽呢?
想想人是怎麼操作的,應該包括這樣兩個部分
既然是單股票策略,事先決定好交易哪一個股票。
每天看看昨日收盤價是否高出過去20日平均價,是的話開盤就買入,不是開盤就賣出。每天都這麼做,循環下去。
對應代碼也是這兩個部分
def initialize(context):
用來寫最開始要做什麼的地方
def handle_data(context,data):
用來寫每天循環要做什麼的地方
2 初始化
我們要寫設置要交易的股票的代碼,比如 兔寶寶(002043)
def initialize(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 判斷是否買賣
數據都獲取完,該做買賣判斷了
# 如果昨日收盤價高出二十日平均價, 則買入,否則賣出
if last_price average_price:
買入
elif last_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 策略代碼寫完,進行回測
把買入賣出的代碼寫好,策略就寫完了,如下
def initialize(context):#初始化
g.security = ‘002043.XSHE’# 股票名:兔寶寶
def handle_data(context, data):#每日循環
last_price = data[g.security].close# 取得最近日收盤價
# 取得過去二十天的平均價格
average_price = data[g.security].mavg(20, ‘close’)
cash = context.portfolio.cash# 取得當前的現金
# 如果昨日收盤價高出二十日平均價, 則買入,否則賣出。
if last_price average_price:
order_value(g.security, cash)# 用當前所有資金買入股票
elif last_price average_price:
order_target(g.security, 0)# 將股票倉位調整到0,即全賣出
現在,在策略回測界面右上部,設置回測時間從20140101到20160601,設置初始資金100000,設置回測頻率,然後點擊運行回測。
7 建立模擬交易,使策略和行情實時連接自動運行
策略寫好,回測完成,點擊回測結果界面(如上圖)右上部紅色模擬交易按鈕,新建模擬交易如下圖。 寫好交易名稱,設置初始資金,數據頻率,此處是每天,設置好後點提交。
8 開啟微信通知,接收交易信號
點擊聚寬導航欄我的交易,可以看到創建的模擬交易,如下圖。 點擊右邊的微信通知開關,將OFF調到ON,按照指示掃描二維碼,綁定微信,就能微信接收交易信號了。
如何使用Python api 函數寫股票策略
利用context.now可以獲得當前策略運行的時間,返回的是datetime.datetime格式。datetime.datetime格式可以很方便的進行日期、時間操作。
比如timedelta可以很方便的在日期上做日、小時、分鐘、秒的運算。例如,需要策略運行時間1天前的時間,可以這樣寫:context.now+datetime.timedelta(days=-1),返回的便是一天前的時間。
python對股票分析有什麼作用
你好,Python對於股票分析來說,用處是很大的
Python,用數據軟件分析可以做股票的量化程序,因為股票量化是未來的一種趨勢,能夠解決人為心理波動和衝動下單等不良行為,所以學好python量化的話,那麼對股票來說有很大很大幫助
如何用python炒股
你就是想找個軟件或者券商的接口去上傳交易指令,你前期的數據抓取和分析可能python都寫好了,所以差這交易指令接口最後一步。對於股票的散戶,正規的法子是華寶,國信,興業這樣願意給接口的券商,但貌似開戶費很高才給這權利,而且只有lts,ctp這樣的c++接口,沒python版就需要你自己封裝。還有的法是wind這樣的軟件也有直接的接口,支持部分券商,但也貴,幾萬一年是要的,第三種就是走野路子,鼠標鍵盤模擬法,很複雜的,就是模擬鍵盤鼠標去操作一些軟件,比如券商版交易軟件和大智慧之類的。還有一種更野的方法,就是找到這些軟件的關於交易指令的底層代碼並更改,我百度看到的,不知道是不是真的可行。。散戶就這樣,沒資金就得靠技術,不過我覺得T+1的規則下,預測準確率的重要性高於交易的及時性,花功夫做數據分析就好,交易就人工完成吧
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/201336.html