python股票交易模型
Ⅰ 怎樣用 Python 寫一個股票自動交易的程序
方法一
前期的數據抓取和分析可能python都寫好了,所以差這交易指令介面最後一步。對於股票的散戶,正規的法子是華寶,國信,興業這樣願意給介面的券商,但貌似開戶費很高才給這權利,而且只有lts,ctp這樣的c++介面,沒python版就需要你自己封裝。
方法二
是wind這樣的軟體也有直接的介面,支持部分券商,但也貴,幾萬一年是要的。
方法三
滑鼠鍵盤模擬法,很復雜的,就是模擬鍵盤滑鼠去操作一些軟體,比如券商版交易軟體和大智慧之類的。
方法四
就是找到這些軟體的關於交易指令的底層代碼並更改,不過T+1的規則下,預測准確率的重要性高於交易的及時性,花功夫做數據分析就好,交易就人工完成吧
Ⅱ 怎樣用 Python 寫一個股票自動交易的程序
概率炒股法:
下面方法買漲不買跌,同時避免被套,缺點,手續費比較高,但完全可以吃完整個牛市,熊市不會被套。
用python獲取股票價格,如tushare,如果發現股票當天漲幅在大盤之上(2點30到2點50判斷),買入持有一天,下跌當天就別買,你可以用概率論方法,根據資金同時持有5支,10支或20支,這樣不怕停盤影響,理論上可以跑贏大盤。好處:避免人為沖動,缺點手續費高
還有一種是操作etf,如大盤50etf,etf300,中小板etf,創業板etf,當天2.30分判斷那個etf上漲就買入那支,買入漲幅最大的,不上漲什麼都不買,持有一天,第二天上午判斷一下,如果下跌超過2%賣掉。好處:不會踩地雷,缺點:漲隨大盤,我比較推薦這個方法,外圍的風險比較小。
具體的python程序我有,比上面復雜,有止贏止損位,資金管理,監視管理,我用在實盤當中,自動化下單也已解決。
我覺得程序的成敗不在一日之功,在於長期穩定賺錢,如運行十年,過多的數據分析也無意義,因為預測未來永遠是一個概率問題,不是百分之百確定的,如果你的程序能在長時間多次數上戰勝市場,你的程序就能趨向大數定理。
否則一時的回撤會讓你停止程序自動執行,而無法趨向大數定理中的穩定概率。
如果有一個程序能百分之99確定,那麼基本上肯定是分析了內幕交易數據,和徐x一樣,每次重倉一支股,這種手法應該是得到了內幕,也就不需要什麼程序來交易了。
巴菲特的交易模式實質上也是內幕交易的一種,因為他靠的是外在分析,實地考查,估計這是尋找內幕的手段,現在做大了,這種效果就不靈了,收益也下降了,美國經濟也下滑了,所以巴菲特的未來是必定是暗淡的,因為內幕交易的池子有限,資金量大了不好操作。
想想如果巴菲特生在蘇聯,印度,日本等等其他國家,他可能在街頭要飯,美國二戰後經濟環境加傾向內幕造就了他,而不是炒股技術有多神。所以巴菲特不屑於程序化交易。
巴菲特及不少美國式的股神實際上是倖存者偏差造成的,你想想蘇聯的股神在那裡?為什麼一個都沒有?(「沉默的數據」、「死人不會說話」)
我覺得未來真正能成股神必定是程序,不是人,因為一個好的程序策略可以用一輩子,實現長期穩定增長,當然前提是社會經濟環境穩定,不會出現類似蘇聯的動亂,也不會出現日本式的惡性通脹(對貨幣m2有點擔心)。
太多的股票讓股民每天沉浸在選股的游戲中,選股造就了券商的行情軟體,實際上很多數據都是沒有用的,所有的關鍵是按操作方法永遠執行下去才能趨向穩定概率,否則今天換一種明天換一種方法,今天按kdj,明天按macd,後天按boll,大後天按ddx,大大後天按自編指標,多條件選股,最後錢都交手續費或止損不及時被套牢了。這時券商收傭金的目的也就達到了,每年券商收的傭金比股市分紅要高。不管行情如何,只要多請幾個股評員,總有方向說對的,玩個概率游戲讓大家頻繁交易,券商的收入只會增不會降。所以千萬別信股評,玩的是概率游戲,如同預測硬幣的正反,請十個股評師必定有個能預測三次正確的神股評。你信這個神股評,後面可能是三次都不準,呵呵。所以券商和行情軟體總會在收盤或午休時彈出各種消息或評價,說實在的這種東西沒有一分錢的價值。可能早就寫好了上漲的說法是模塊a,下跌的說法是模板b,平市的說法是模板c,只是填上當天數據即可,都是八股文,都是馬後炮,一樣的事件上午說成是上漲理由,下午說成是下跌理由。
程序的策略經過測試後的關鍵在於穩定執行,長期穩定執行,長期長期穩定穩定執行執行,重要的事說三遍。
人性無法戰勝的弱點是執行力,小學生都懂的天天向上,每日進步,世間有幾人能做到?而穩定幾十年執行更是難上加難,如同背英語單詞一樣,理論上一天背一百個,一百天就可以一萬詞,但十年,二十年過去了,你可能還是三千詞以下。
用程序的目的就是百分之百執行到位,沒有折扣,真正戰勝人性的弱點,和t+1沒有關系。
另外通過一定方法降低手續費也可以使你的資金活得更久,如把上面的日模型改為周或月模型。
Ⅲ 怎樣用python處理股票
用Python處理股票需要獲取股票數據,以國內股票數據為例,可以安裝Python的第三方庫:tushare;一個國內股票數據獲取包。可以在網路中搜索「Python tushare」來查詢相關資料,或者在tushare的官網上查詢說明文檔。
Ⅳ 有沒有會用Python編寫一個簡單的建模股票價格的小程序能夠對股票數據進行簡單預測即可!求助!
雖然懂python 但是不懂股票,
採用random()可以么,哈哈
Ⅳ 如何用python炒股
你就是想找個軟體或者券商的介面去上傳交易指令,你前期的數據抓取和分析可能python都寫好了,所以差這交易指令介面最後一步。對於股票的散戶,正規的法子是華寶,國信,興業這樣願意給介面的券商,但貌似開戶費很高才給這權利,而且只有lts,ctp這樣的c++介面,沒python版就需要你自己封裝。還有的法是wind這樣的軟體也有直接的介面,支持部分券商,但也貴,幾萬一年是要的,第三種就是走野路子,滑鼠鍵盤模擬法,很復雜的,就是模擬鍵盤滑鼠去操作一些軟體,比如券商版交易軟體和大智慧之類的。還有一種更野的方法,就是找到這些軟體的關於交易指令的底層代碼並更改,我網路看到的,不知道是不是真的可行。。散戶就這樣,沒資金就得靠技術,不過我覺得T+1的規則下,預測准確率的重要性高於交易的及時性,花功夫做數據分析就好,交易就人工完成吧
Ⅵ 如何用Python和機器學習炒股賺錢
相信很多人都想過讓人工智慧來幫你賺錢,但到底該如何做呢?瑞士日內瓦的一位金融數據顧問 Gaëtan Rickter 近日發表文章介紹了他利用 Python 和機器學習來幫助炒股的經驗,其最終成果的收益率跑贏了長期處於牛市的標准普爾 500 指數。雖然這篇文章並沒有將他的方法完全徹底公開,但已公開的內容或許能給我們帶來如何用人工智慧炒股的啟迪。
我終於跑贏了標准普爾 500 指數 10 個百分點!聽起來可能不是很多,但是當我們處理的是大量流動性很高的資本時,對沖基金的利潤就相當可觀。更激進的做法還能得到更高的回報。
這一切都始於我閱讀了 Gur Huberman 的一篇題為《Contagious Speculation and a Cure for Cancer: A Non-Event that Made Stock Prices Soar》的論文。該研究描述了一件發生在 1998 年的涉及到一家上市公司 EntreMed(當時股票代碼是 ENMD)的事件:
「星期天《紐約時報》上發表的一篇關於癌症治療新葯開發潛力的文章導致 EntreMed 的股價從周五收盤時的 12.063 飆升至 85,在周一收盤時接近 52。在接下來的三周,它的收盤價都在 30 以上。這股投資熱情也讓其它生物科技股得到了溢價。但是,這個癌症研究方面的可能突破在至少五個月前就已經被 Nature 期刊和各種流行的報紙報道過了,其中甚至包括《泰晤士報》!因此,僅僅是熱情的公眾關注就能引發股價的持續上漲,即便實際上並沒有出現真正的新信息。」
在研究者給出的許多有見地的觀察中,其中有一個總結很突出:
「(股價)運動可能會集中於有一些共同之處的股票上,但這些共同之處不一定要是經濟基礎。」
我就想,能不能基於通常所用的指標之外的其它指標來劃分股票。我開始在資料庫裡面挖掘,幾周之後我發現了一個,其包含了一個分數,描述了股票和元素周期表中的元素之間的「已知和隱藏關系」的強度。
我有計算基因組學的背景,這讓我想起了基因和它們的細胞信號網路之間的關系是如何地不為人所知。但是,當我們分析數據時,我們又會開始看到我們之前可能無法預測的新關系和相關性。
如果你使用機器學習,就可能在具有已知和隱藏關系的上市公司的寄生、共生和共情關系之上搶佔先機,這是很有趣而且可以盈利的。最後,一個人的盈利能力似乎完全關乎他在生成這些類別的數據時想出特徵標簽(即概念(concept))的強大組合的能力。
我在這類模型上的下一次迭代應該會包含一個用於自動生成特徵組合或獨特列表的單獨演算法。也許會基於近乎實時的事件,這可能會影響那些具有隻有配備了無監督學習演算法的人類才能預測的隱藏關系的股票組。
Ⅶ python的量化代碼怎麼用到股市中
2010 ~ 2017 滬深A股各行業量化分析
在開始各行業的量化分析之前,我們需要先弄清楚兩個問題:
第一,A股市場上都有哪些行業;
第二,各行業自2010年以來的營收、凈利潤增速表現如何?
第一個問題
很好回答,我們使用JQData提供的獲取行業成分股的方法,輸入get_instries(name='sw_l1')
得到申萬一級行業分類結果如下:它們分別是:【農林牧漁、採掘、化工、鋼鐵、有色金屬、電子、家用電器、食品飲料、紡織服裝、輕工製造、醫葯生物、公用事業、交通運輸、房地產、商業貿易、休閑服務、綜合、建築材料、建築裝飾、電器設備、國防軍工、計算機、傳媒、通信、銀行、非銀金融、汽車、機械設備】共計28個行業。
第二個問題
要知道各行業自2010年以來的營收、凈利潤增速表現,我們首先需要知道各行業在各個年度都有哪些成分股,然後加總該行業在該年度各成分股的總營收和凈利潤,就能得到整個行業在該年度的總營收和總利潤了。這部分數據JQData也為我們提供了方便的介面:通過調用get_instry_stocks(instry_code=『行業編碼』, date=『統計日期』),獲取申萬一級行業指定日期下的行業成分股列表,然後再調用查詢財務的數據介面:get_fundamentals(query_object=『query_object』, statDate=year)來獲取各個成分股在對應年度的總營收和凈利潤,最後通過加總得到整個行業的總營收和總利潤。這里為了避免非經常性損益的影響,我們對凈利潤指標最終選取的扣除非經常性損益的凈利潤數據。
我們已經獲取到想要的行業數據了。接下來,我們需要進一步分析,這些行業都有什麼樣的增長特徵。
我們發現,在28個申萬一級行業中,有18個行業自2010年以來在總營收方面保持了持續穩定的增長。它們分別是:【農林牧漁,電子,食品飲料,紡織服裝,輕工製造,醫葯生物,公用事業,交通運輸,房地產,休閑服務,建築裝飾,電氣設備,國防軍工,計算機,傳媒,通信,銀行,汽車】;其他行業在該時間范圍內出現了不同程度的負增長。
那麼,自2010年以來凈利潤保持持續增長的行業又會是哪些呢?結果是只有5個行業保持了基業長青,他們分別是醫葯生物,建築裝飾,電氣設備,銀行和汽車。(註:由於申萬行業在2014年發生過一次大的調整,建築裝飾,電氣設備,銀行和汽車實際從2014年才開始統計。)
從上面的分析結果可以看到,真正能夠保持持續穩定增長的行業並不多,如果以扣非凈利潤為標准,那麼只有醫葯生物,建築裝飾,電氣設備,銀行和汽車這五個行業可以稱之為優質行業,實際投資中,就可以只從這幾個行業中去投資。這樣做的目的是,一方面,能夠從行業大格局層面避免行業下行的風險,繞開一個可能出現負增長的的行業,從而降低投資的風險;另一方面,也大大縮短了我們的投資范圍,讓投資者能夠專注於從真正好的行業去挑選公司進行投資。
「2010-2017」投資於優質行業龍頭的收益表現
選好行業之後,下面進入選公司環節。我們知道,即便是一個好的行業也仍然存在表現不好的公司,那麼什麼是好的公司呢,本文試圖從營業收入規模和利潤規模和來考察以上五個基業長青的行業,從它們中去篩選公司作為投資標的。
3.1按營業收入規模構建的行業龍頭投資組合
首先,我們按照營業收入規模,篩選出以上5個行業【醫葯生物,建築裝飾,電氣設備,銀行和汽車】從2010年至今的行業龍頭如下表所示:
結論
通過以上行業分析和投資組合的歷史回測可以看到:
先選行業,再選公司,即使是從2015年股災期間開始投資,至2018年5月1號,仍然能夠獲得相對理想的收益,可以說,紅杉資本的賽道投資法則對於一般投資者還是比較靠譜的。
在構建行業龍頭投資組合時,凈利潤指標顯著優於營業收入指標,獲得的投資收益能夠更大的跑贏全市場收益率
市場是不斷波動的,如果一個投資者從股災期間開始投資,那麼即使他買入了上述優質行業的龍頭組合,在近3年也只能獲得12%左右的累計收益;而如果從2016年5月3日開始投資,那麼至2018年5月2日,2年時間就能獲得超過50%以上的收益了。所以,在投資過程中選擇時機也非常重要。
出自:JoinQuant 聚寬數據 JQData
Ⅷ 怎樣用 Python 寫一個股票自動買賣的程序
方法一
前期的數據抓取和分析可能python都寫好了,所以差這交易指令介面最後一步。對於股票的散戶,正規的法子是華寶,國信,興業這樣願意給介面的券商,但貌似開戶費很高才給這權利,而且只有lts,ctp這樣的c++介面,沒python版就需要你自己封裝。
方法二
是wind這樣的軟體也有直接的介面,支持部分券商,但也貴,幾萬一年是要的。
方法三
滑鼠鍵盤模擬法,很復雜的,就是模擬鍵盤滑鼠去操作一些軟體,比如券商版交易軟體和大智慧之類的。
方法四
就是找到這些軟體的關於交易指令的底層代碼並更改,不過T+1的規則下,預測准確率的重要性高於交易的及時性,花功夫做數據分析就好,交易就人工完成吧
Ⅸ 如何建立一個股票量化交易模型並模擬
用文化財經軟體,編寫程序化交易系統,具體參考官網教程
Ⅹ 如何建立一個股票量化交易模型並模擬
研究量化投資模型的目的是找出那些具體盈利確定性的時空價格形態,其最重要手段的概率取勝,最重要的技術是概率統計,最主要的研究方向是市場行為心理。那麼我們在選擇用於研究的參數時,也應該用我們的經驗來確定是否把某技術參數放進去,因為一般來說定性投資比較好用的參數指標對量化投資同樣適用。
量化投資區別於傳統定性投資的主要特徵在於模型。我打個比方,我們看病,中醫與西醫的診療方法是不同,中醫是望、聞、問、切,最後判斷出的結果,很大程度上基於中醫的經驗,主觀定性程度大一些;西醫就不同了,先要病人去拍片子、化驗等,這些都要依託於醫學儀器,最後得出結論,對症下葯。中醫對醫生的經驗要求非常高,他們的主觀判斷往往決定了治療效果,而西醫則要從容得多,按事先規定好的程序走就行了。量化投資就是股票投資中的西醫,它可以比較有效地矯正理智與情緒的不兼容現象。
量化投資的一般思路:選定某些技術指標(我們稱之為參數,往往幾個組成一組),並將每一個參數的數據范圍進行分割,成幾等份。然後,用計算機編程寫出一段能對這些參數組對股票價格造成的影響進行數據統計的程序,連接至大型資料庫進行統計計算,自動選擇能夠達到較高收益水平的參數組合。但是選出這些參數組後還不能馬上應用,因為這里涉及到一個概率陷阱的問題,比如說,有1到100這一百個數字放在那裡,現在讓你選擇,請問你選到100的可能性是多大?是的,就是1/100,如果較幸運你選到了100並不能說明你比別人聰明,而是概率的必然。所以,在進行統計時要特別關注統計的頻率與選出的結果組數量之間的關系。在選出符合要求的參數組後我們還應留出至少三年的原始市場數據進行驗證,只有驗證合格後才能試用。
量化投資原始數據策略:我們選用96年後的市場數據,因為96年股市有過一次交易政策改革(你可以自己查詢了解一下),為了不影響研究結果我們不採納96年以前的數據進資料庫。
量化投資研究的硬設備:高計算性能電腦,家用電腦也可以,不過運算時間會很長,我曾經用家用電腦計算了三個月時間才得到想要的數據。
統計方法:可以選用遺傳演算法,但我在這里陪大家做的是比較簡單的模型,所以採用普通統計方法就可以了。
用於量化研究的軟體:我採用的是免費的大型資料庫MYSQL,ASP網路編程語言,以及可以設置成網路伺服器的旗艦版WIN7操作系統。