有人試過編寫個程序來炒股嗎?

先選出確定一定量的靠譜的股票,再用歷年的數據求出合理範圍的買入價格和賣出價格,然後讓計算機自己判斷何時買入和賣出。假設股票的波動是純概率的,從數學角度上豈不是穩賺了?最近沒時間自己做,有喜歡編程的人模擬過嗎?


【發現很多傻逼在這裡留言,根本什麼都不懂就開始瞎說,也可能從來沒寫過程序。實在是太搞笑了。你們以為自己的交易思路那麼複雜,就沒有程序能模擬嗎?一定是全世界獨一無二的策略?高級自動化交易公司的天天笑著你們呢。。。正是你們這樣的落後思維才導致他們可以繼續天天盈利占你便宜】

2011年,84%的美國股票交易都是自動的。。。
現在估計接近100%。最近五六年這種Quant行業發展得非常快。特別是高頻交易方面。

還有類似Renaissance那樣的公司,不算高頻,但同樣是一群數學計算機博士用計算機操作,以及各種機器學習。這些員工。。。有的年工資在一千萬美元這個量級。真的很嚇人。
公司資產可以每年翻倍,甚至更誇張。就算是金融危機那一年,這類公司很多也都20%以上盈利。

有一些公司控制到全世界1%以上的交易量。每天買賣好幾個billion。
(外匯或者derivatives的話,一公司每天幾個trillion交易量都很常見)
這已經是個非常龐大的行業好嗎。知乎上有很不少這樣的大神。
各銀行、投行、對沖基金,現在都有這種團隊。這類部門也越來越重要。
世界所有股市、交易所;早就成了機器(自動化程序)之間的戰場。

普通散戶想長期從股市中獲利,已經很難很難了。無論用什麼樣的信息什麼樣的策略,遲早會被某家自動交易公司發現了,並且直接開發成效率極高的程序。 研究到更高的境界:速度快,通過回測找到利潤最高化的具體權重等等,還能同時操作所有的產品。想到什麼方法,很可能早就被人家徹底掌握控制了。

還有許多自動策略原理專門利用散戶對價格不敏感的行為。。。
(作為散戶,你所看到的目前買賣價格,也都是這些公司掛出來給你看的,他們就是希望你來搶,然後引用這個信息做更多事情,直接預測你下一步要幹嘛,或者把你的策略自動學出來,融入到模型,修改系統規則,等等)

雖然我不是做股票這一行的,但是自己乾的一些事情非常類似。
比如運動博彩行業,比金融落後個10年左右,但是好多當年金融現象重演。
就因為這十年(還有這市場規模、競爭規模),金融確實已經恐怖得多得多。

如果想了解這些公司的崛起,推薦《Flash Boys》這本書。不知道有沒有中文版。
還有《Flash Boys:not so fast》。兩本講的東西一點都不技術,但是裡面的故事。。。保證能讓很多散戶嚇一大跳,重新認識這個行業背後的真實情況。

-----

有個人問了:散戶做中長線就好一些吧?

。。。也不一定吧,我覺得。

腦補一下,一般小公司或單人手動進行交易;很多方法也可以掙錢的。
難道沒有其他自動化公司不能夠發現同一個方法?難道不能把這個思維自動化?

如果看趨勢啊之類的,或者用什麼價格圖來決定買賣。就算是真的存在這個規律,早就有機器學習高手挖出來一些更加準確的規則(信號)。而且是一個一個小交易的準確度水平,完全超越手動交易員所能掌握的。

還有根據什麼信息,得知某家公司的情況,然後進行交易。這些自動團隊也有的專門負責分分秒秒自動刷所有新聞和推特等,挑出關鍵詞及含義,直接迅速預測。更別說第一個人去操作之後,反應比誰都快。一條消息(或者波動、趨勢)出現了之後,比誰都更快更准預測到新的合理價格。

不同公司預測的時間長度不同而已吧。一樣都是自動處理操作為主。

無論如何,他們總是可以從中獲利。散戶每次或多或少都損失部分利潤給這些公司。

(而且,如果有個很成功的散戶,每次比他們快,難道他們不能夠發現到這個人的交易行為嗎?穩定掙錢的話,要麼這個散戶自己做大了自然將這個想法做成程序,要麼遲早有團隊模擬利用)


------新開公眾號分割線-----


呵呵,某些高票答案這些話我怎麼說呢。
牛人我接觸過。金融這一行恰恰是朝廷不如江湖的。朝廷哪些牛或者不牛的人,有點名氣後往往就是把自己變成江湖。但他們不約而同的強調一句話,敬畏這個市場。
什麼大公司控制市場的真正牛人。這位還沒有睡醒吧。前不久想控制市場的那位叫肖鋼,後來控制市場人造慢牛的結果是花了幾萬億國帑救市。
國外幾個諾獎得主跟幾個數學天才製造出他們認為最完美的模型,寫程序電腦交易撈取著自己認為不可能出問題的利潤。以幾百億美刀的高槓桿,上千億的基金規模,畢竟人家是炸藥獎得主,人賣動用的資源都非比尋常,後來因為俄羅斯債務違約一系列黑天鵝,虧得褲子都不剩,鬧到要救市,直接引發了08年金融危機。
米帝中修皆如此,還有人相信有公司能控制市場。
所以:
一定要敬畏市場!敬畏市場!敬畏市場!
這位說我沒有接觸過控制市場的大公司?能控制市場。現在全部機構加起來也不過2成。中國還是散戶市場。他估計是昨夜宋鴻兵看多了好沒睡醒就來答題了。
而且程序員這一行最牛的我也共事過。人家千萬年薪是實打實的。但不是金融。也不可能是純技術。
說句不好聽的話,金融能實打實穩定千萬年薪,只能是收管理費與傭金的。前不久幾次股災套了多少公墓基金機構.....只有六隻是盈利的。
在這個市場想靠幾句簡單的代碼就賺光傻逼的錢?我就怕有不懂程序的韭菜真信。巴菲特有句話:若在場上幾圈下來還不明白誰是傻逼,你就是了....
聰明人看到這裡應該就明白了。
量化套利的高手的確有,但都相當低調。為啥。套利只是一塊蛋糕,知道的人越多,自己吃到的就越少。而且只能是小資金做。畢竟幾個套利工具流動性容量都不怎麼樣。別套利把自己套在裡面。收益不宜高估。畢竟股市本質還是負和博弈。
本來只是回複評論,看他跳起來,於是就單獨開個答案。往好了說是個不知天高地後會寫幾句程序的韭菜,往壞了說想靠幾句代碼幾個術語就咋呼人,難。


本人是量化私募基金投資經理,職業從事程序化交易。這裡我要告訴大家程序化交易不是神器,在股票市場上不會存在長久的聖杯。任何妄圖用單一程序化交易和機器學習來長期打敗整個金融市場的想法都是缺乏對金融市場本質理解的不成熟行為。所有金融市場都帶有很強的博弈性,也就是說你虧的錢被別人賺了,你賺的是別人虧的錢。如果這個市場老被同一種策略賺錢,大家勢必使用這種策略,只是發現該策略的時間早晚而已,那麼問題來了,大家都使用這個策略賺錢,誰來虧錢呢?呵呵,市場的自我調節功能勢必會讓這種策略虧錢的。
說說最近幾年風頭最盛的高頻交易,高頻交易在過去一段時間裡簡直就是印鈔機,但現在大多數高頻交易使用者被拖入了設備競賽的泥潭中,最終將會有大量的此類策略使用者被洗出市場。這個策略最初的原理是利用交易速度的優勢去獵殺市場中的手工短線交易者,隨著這個策略的使用者逐步變多,手工短線交易者提供的虧損已經不足以養活這麼多高頻交易者,接下來有的高頻交易者為了獲取足夠的利潤花大價錢升級硬體設備具備了更加快速的交易速度,使得其他普通的高頻交易者成為了被獵殺的對象。就這樣大家爭先恐後的升級硬體希望能夠保持優勢。無休止的軍備競賽就這樣開始了。最終總會有些資金規模小的高頻交易者一年所賺的錢還不夠維護設備成本,只能是黯然離場。而剩下的交易者承受著高額的運行成本,也只能說是慘勝。
散戶也好,機構也好要想在金融市場長期獲利,必須明白自己的優勢,要在正確的時段,正確的品種上使用正確的策略和一個比你更弱的交易對手博弈才能輕鬆獲利。


編寫程序來炒股是外在,本質是已設計好的交易系統。

這是單獨使用L威廉指標的簡單交易代碼,以日線來回測之前1年的數據(數據參數已優化):

如果選一隻大幅波動的股票,如恒生電子從179跌到33,再反彈:

如果能精確到60分鐘圖和30分鐘圖,利潤會更高些。缺陷是不設止損,僅在觸發賣出指令時平倉,會造成較大浮虧。在編寫這段代碼前,其實並沒有寫過類似程序,一直覺得涉及到代碼是令人頭痛的事情,只有大學的基礎C語言做底子,當年考試還只得了62分,不過相比當時很多同學掛科C語言和60分,這倒是真-及格。L-威廉交易系統是處女作,自我評價是簡單實在。
選股前還得在不同時間框架里,選擇大時間周期的動量指標為看多的股票,放到自選股,再到下一級時間框架內交易,這樣勝算更大。


你很有想法 只是晚了


恭喜你完全靠自己想到了勾股定理


談點過來人的經驗,想法很好,但難度很高。當年我學寫股票、期貨程序花了半年,還是有計算機編程基礎的,沒有基礎的要花更多時間。歷史數據測試又花了半年,總之形成初步的操作程序花了一年。然後是實盤測試,測試半年虧了25%,扛不住了,停下來思考,又花了一年多的時間。優化後再次實盤測試,花了兩年,終於抹平虧損,實現盈利。前前後後花了四年,兩年後再一次重大改進,總共花了6年。運氣還不錯,第一次編的程序就獲得成功。我想如果第一次就失敗了,估計沒有精力和勇氣再搞一次。


少年,我看你是百年一遇的武學奇才,這樣,我這裡有一本武功秘籍,看跟你這麼有緣,只收你990元,你看如何。


可以量化,但是更有用的東西很多不能量化


排名第一的回答應該是商業回答,看了一下,沒啥乾貨!

首先是你這種方式早就有人試過了,量化交易通俗一點說就是這樣。但是,你知道價格波動的隨機性,所以說,即使你編程再好,也有可能會出現虧損、!


首先說,受朋友的委託,試過。
當我學習了10幾本關於投機的書籍以後,我得出的結論是:這玩意兒不靠譜。
正因為如此,我離開了IT行業,轉而成為了一個職業投機者。

反對前面高贊同的回答。why?

自動化交易程序當然存在。有數據介面就能完成,這不奇怪。用程序化自動交易的方式,只是能保證盡量避免人性的干擾,強制執行既定策略。但是事實上呢,就如同軟體工程沒有銀彈一樣,投機交易也沒有銀彈。程序化交易只是提高了執行力,但是缺點也是顯而易見的:缺乏隨機應變的能力。我們沒辦法編寫出來真正比人聰明的程序,我覺得這應該算是一個常識。

還有一種主流的論點,我也是非常贊同的:程序化交易進一步加劇了市場波動,所以應該反對程序化交易。原理很簡單:稍微大一點的市場波動,就會連鎖式地觸發各類交易軟體的計算指標,然後集體給市場來了個ddos。羊群效應發揮到了極致。

再講一點,程序並不能從根本上避免人犯錯誤。其實在我還在敲代碼的年代,我就總是聽到客戶提出一種奇怪的偽需求,希望把自身管理上的疏漏交給計算機解決。好吧,我就不繼續吐槽過去那些無理的偽需求了。

為什麼那個答案有這麼多人贊同?我想,無非是兩種人群。
1:從未真正接觸過投機市場的人。聽起來很高大上,竟然有這樣神奇的「提款機」軟體,說得還真像是那麼回事兒。
2:投機市場的失敗者。正如同約翰·麥吉講的,失敗者都擅長於把自己的錯誤歸咎於別人。那段文字正好為他們的高潮奠定了基礎:看吧,我就說過他們開掛了,這篇文章就是最好的證明。

最後,我想把傑西·利弗莫爾的一句名言自由發揮一下:時代在變,交易方式在變,而華爾街未變,因為人性未變。


有不少啊,我和 @坨子1979 正在做的http://shujubox.com就是類似的事情,不過不是炒股,而是提供各種套利機會


最近幾年做程序化交易的投資者越來越多了。我覺得至少在選股方面,程序化就可以幫忙省卻一大堆麻煩。程序化執行交易策略,可以更好地避免情緒化交易。這部分是程序化比較好的地方。

但是程序化交易有一個缺陷,應變能力差。當市場結構發生快速變化的時候,程序化交易自己不知道停下來,才造成黑色星期五,LTCM的破產。

所以即使有了程序化交易,也不是一勞永逸的。市場永遠在不斷變動,充滿非理性的噪音。怎麼樣讓程序認識市場並且拿出相應的策略,長期擊敗市場,應該是更高層次的人工智慧要解決的問題了。短期內我倒是不關心這個,估計人類也製造不出這樣的人工智慧。至少在我活著的時期,總體上人類做未來決策的能力和應變能力肯定比人工智慧要做得更好。


請欣賞央視紀錄片:《華爾街》。

人家早就把所有交易交給電腦了。。。。。。


正在「米筐」學習!python很好用!
---------補充下學習資源-----
Python入門

- [廖雪峰老師的Python教程](Python教程)

- [python基礎之字典與集合](python基礎之字典與集合。)

- [python基礎之基本數據類型](python基礎之基本數據類型)

- [python基礎之列表](python基礎之列表)

- [python基礎之元組](python基礎之元組)

- [numpy 矩陣運算](numpy 矩陣運算)

- [【Python 教程 101】 series and dataframe](【Python 教程 101】 series and dataframe)

- [【Python 教程 101】應用:從日收益率到月收益率](【Python 教程 101】應用:從日收益率到月收益率)

- [【散沙】Python科學計算系列 - B站鏈接](【散沙】Python科學計算系列_演講?公開課_科技_bilibili_嗶哩嗶哩彈幕視頻網)

- [散沙-python數據分析教學視頻](【散沙 - Python數據分析教學視頻】)

- [一些Python的入門學習資料](【Python教學】一些Python的入門學習資料,持續添加...)

- [pandas的兩種基本的數據結構series和dataframe ]( 【Python 教程 101】 series and dataframe)


Ricequant 平台入門教學

- [【Ricequant教學 1】 - Ricequant和策略交易IDE介紹 ](【Ricequant教學 1】 - Ricequant和策略交易IDE介紹 )

- [ 【Ricequant教學 2】- 開始編寫第一個量化交易策略 ](【Ricequant教學 2】- 開始編寫第一個量化交易策略)

- [ 【Ricequant教學 3】 - 回測第一個量化交易策略 ](【Ricequant教學 3】 - 回測第一個量化交易策略 )

- [ 【Ricequant教學 4】- 在python策略中使用Ta-lib計算技術指標 ](【Ricequant教學 4】 - 在python策略中使用Ta-lib計算技術指標)

- [【Ricequant教學 5】 - 進行Fundamental查詢來探索價值投資 Screener功能](【Ricequant教學 5】 - 進行Fundamental查詢來探索價值投資 Screener功能)

- [ 【Ricequant Research教學1】 - Research平台基本功能簡介 ](【Ricequant教學 6】 - Research平台基本功能簡介)

**技術分析指標及TALIB的使用**

- [在python策略中使用Ta-lib計算技術指標](【Ricequant教學 4】 - 在python策略中使用Ta-lib計算技術指標)

- [SMA 入門策略 - 移動平均線](【技術指標】SMA 入門策略 - 移動平均線)

- [STOCH(KD指標)](【TA-LIB】之STOCH(KD指標))

- [平均趨向指數ADX和動向指數DMI](【技術指標量化】平均趨向指數ADX和動向指數DMI)

- [RSI指標](【技術指標量化】RSI指標)

- [趨勢指標分享 - Aroon indicator](一個比較有趣的趨勢指標分享 - Aroon indicator)

- [Bollinger Bands應用](【學習】Talib的Bollinger Bands應用)

- [自製DMI指標](技術指標之自製DMI指標)

- [順勢指標(CCI)的應用](順勢指標(CCI)的應用)


【價值投資】【財務分析】【基本面】

- [進行Fundamental查詢來探索價值投資 Screener功能](【Ricequant教學 5】 - 進行Fundamental查詢來探索價值投資 Screener功能)

- [Graham number 格雷厄姆數字價值投資法](Graham number 格雷厄姆數字價值投資法)

- [格林布拉特價值投資神奇公式](格林布拉特價值投資神奇公式)

- [策略-邁克爾喜偉收益型投資](【策略】邁克爾喜偉收益型投資)

- [投資成長型公司](【策略】【雪球】投資成長型公司)

- [ growth investment 結合市場技術指標策略](growth investment 結合市場技術指標策略)

- [在ricequant上用股票市盈率數據做反轉策略回測](在ricequant上用股票市盈率數據做反轉策略回測)

- [基本面、高收益交集策略](新人求指點,對quant有非常大興趣求大牛指點如何入門)

- [基本面選股器: Piotroski F-Score ranking system](基本面選股器: Piotroski F-Score ranking system)

- [多因子策略(一) ](多因子策略(一) )


研究分享

- [線性回歸](【Lecture】線性回歸)

- [相關係數基礎 ](【lecture】相關係數基礎 )

- [Beta對沖](【Lecture】Beta對沖)

- [斯皮爾曼秩相關係數 ](【Lecture】斯皮爾曼秩相關係數)

- [Spearman Rank 相關係數](Spearman Rank 相關係數)

- [參數預估的不穩定性](【Lecture】參數預估的不穩定性 )

- [回歸模型的違背](【Lecture】回歸模型的違背 )

- [回歸係數的不穩定性](【Lecture】回歸係數的不穩定性 )

- [應用機器學習的建議(一)](【向阿爾法狗學炒股前篇】【應用機器學習的建議(一)】)

- [應用機器學習的建議(二)](【向阿爾法狗學炒股前篇】【應用機器學習的建議(二)】)

- [單因子量化研究(自動版))](單因子量化研究(自動版),半成品,請各位大神指點)

- [擇時策略參數優化](個人自製擇時策略參數優化程序,請指正)

- [恒生標普500研究](恒生標普500研究:「好基友,一起走~」)


理論實證

- [Markowitz 資產組合優化原理在Python中的應用](海龜交易系統的Python完全版)

- [Fama-French三因素模型(一)](#讓我們用python跑回歸#Fama-French三因素模型(一))

- [Fama三因素模型(二)一個簡單的策略運用](Fama三因素模型(二)一個簡單的策略運用)

- [Fama三因素模型(三)因子風險暴露Factor Risk Exposure](Fama三因素模型(三)因子風險暴露Factor Risk Exposure)

- [Fama三因素模型(四)Fama五因素模型!](Fama三因素模型(四)Fama五因素模型!)

- [套利定價模型(APT)的應用](套利定價模型(APT)的應用)

- [HMM在股票上的簡單應用](HMM在股票上的簡單應用)

- [隱馬爾科夫鏈模型對於滬深300指數建模的進一步研究](隱馬爾科夫鏈模型對於滬深300指數建模的進一步研究)

- [GARCH模型:對波動率建模](GARCH模型:對波動率建模)

- [ARMA+GARCH交易策略在滬深300指數上的應用](ARMA+GARCH交易策略在滬深300指數上的應用)

- [用Ricequant 做主成分分析法(PCA) 建立統計因子模型的一些分享](用Ricequant 做主成分分析法(PCA) 建立統計因子模型的一些分享)

- [Carhart four-factor model 四因子模型 研究部分](Carhart four-factor model 四因子模型 研究部分)


經典策略

- [海龜交易系統的python完全版](海龜交易系統的Python完全版)

- [趨勢策略小試牛刀,海龜交易體系的構建](趨勢策略小試牛刀,海龜交易體系的構建)

- [配對交易-paper-version](配對交易(Paper Version))

- [配對交易(Revised Version)](配對交易(Revised Version))

- [震蕩行情利器——網格交易策略](震蕩行情利器——網格交易策略)

- [Kelly Formula 凱利公式的簡單應用](Kelly formula 簡單應用)

輪動策略、ETF

- [相關性較低的ETF組合策略]( Uncorrelated ETF 策略嘗試)

- [ETF輪動策略](ETF輪動策略)

- [A股市場的ETF輪動策略](A股市場的ETF輪動策略)

- [滬深300etf套利](滬深300etf套利)

- [a股etf秘史-轉 ](A股ETF秘史【轉】 )


動量、趨勢、反轉

- [Worst-K策略](Worst-K策略)

- [Dual Thrust 交易策略](【策略】Dual Thrust 交易策略)

- [比想像中效果要差的網格交易法](比想像中效果要差的網格交易法(一))

- [趨勢還是反轉-關於mfi和rsi的一些思考](趨勢還是反轉,關於MFI和RSI的一些思考)

輿情大數據

- [滾雪球-雪球滾起來吧-到底我們是否能靠輿情事件賺錢呢](【滾雪球】雪球滾起來吧,到底我們是否能靠輿情事件賺錢呢?)

- [一起舉牌吧,A股舉牌概念策略分享](【策略】一起舉牌吧,A股舉牌概念策略分享)

論文、書籍、閱讀材料等

- [【論文分享】量化交易領域經典學術論文](【論文分享】量化交易領域經典學術論文)

- [ 開啟你的量化之旅 | 量化投資學習資源](開啟你的量化之旅 | 量化投資學習資源)

- [【Python教學】一些Python的入門學習資料,持續添加...](【Python教學】一些Python的入門學習資料,持續添加...)

- [【paper分享】101個Alpha-World Quant](【paper分享】101個Alpha-World Quant)

- [【學習資料】Python、R語言、計量經濟學、投資書籍、研究報告等(Book+Video)](【學習資料】Python、R語言、計量經濟學、投資書籍、研究報告等(Book+Video))


……


早是程序化交易了。

最近小牛市,策略天天左右打臉。


合理範圍

就這4個字,就不能靠電腦


正在用,用c#開發的自動化交易介面,python開發的策略監視系統,使用的是遺傳演算法加統計指標,如果想開發完善的自動化交易程序,需要判斷很多人工交易不用考慮的異常情況,代碼量還是比較大的。程序託管在雲伺服器上,已經用於實戰,程序交易後,會自動發郵件和簡訊給我,另外也會提交到模擬炒股系統,讓模擬炒股系統計算該策略的收益率曲線,真實交易成功率百分之九十幾,不成功的可以在收到簡訊後查看是否成交手工補單。自動化交易最大好處是克服心理遲疑,解決人工策略長期堅持執行難的問題。

自動化趨勢策略交易,不同於套利,套利收益率是有限的,而自動化趨勢策略收益率很高,波動率也很高,風險相對較大,適合以小博大,市場行情好時,一年可能收益幾倍,基金是不可能給你這麼高的收益,市場行情不好時回撤可能百分之幾十,能以少量資金實現更多資金的收益額波動。


朋友,你聽說過 Quant 嗎?


Quant
礦工


推薦閱讀:

回調函數(callback)是什麼?
對於一個編程基礎不是很好的學生來說,學習數據挖掘、機器學習之類的並以後從事這樣的工作靠譜嗎?
為什麼有些驗證碼看起來很容易但是沒人做自動識別的?
用 Linux 真的能學到很多平台無關的東西嗎?
國內人寫代碼的水平跟美國的差距在哪?

TAG:數學 | 編程 | 股票 | 概率 | 投機 |