聲明:本文已授權公眾號「AI極客研修站」獨家發布
和大家聊聊量化交易,以及人工智能可以在量化交易上的應用。我們程序員還是應該懂點金融知識的。
通俗的說說交易相關的基礎知識
首先跟大家聊聊交易。股票大家應該了解過,股票這種投資方式相比于理財產品一類收益要大很多,當然風險也會高很多,這個大家都懂。實際上市場上除了股票,還有期貨、現貨、外匯這類市場。
我們國內的股票市場玩起來實際上有一定的局限性,只能買漲不能買跌。除非你是一個精明的短線高手,在行情不好的時候,大多數持倉的人都是在虧錢。不僅如此,國內的股票也有漲跌幅的上限,像比特幣市場這種動輒一天百分之4,50漲幅這種刺激的情況是不會有的。
在國外股票市場或者類似于外匯市場這樣的盤口,你不僅可以買漲,還能買跌,意思是即使你持倉的股票價格在跌,你卻能賺到對應差值的錢。如沒接觸過這方面的同學可能不太好理解,我簡單的說一下原理。
像我國股票市場那種買漲的形式,我花1000塊,買了1手股票,就相當于我持有了這個股票,跟倒賣商品一樣,等到漲價了,我把它賣出去,自然是能賺錢的。這個好理解。
那么買跌又是咋回事呢。我們可以把這種形式理解為一種契約關系。打個比方,比如黃金現價1千克20萬,我看跌黃金,現在我向交易所提交一個合約,合約上寫著:我,小之,黃金看跌,買跌一手!
然后交易所給我看著年輕的我,也給了我一張合約,這張合約代表的就是一公斤黃金現貨。我拿著這個合約,到市場上賣了,這樣,我手上就有了一公斤黃金在當前價格下的錢了,也就是20萬現金。等到價格跌下去,比如跌到了18萬一公斤黃金,我再把這一公斤黃金買回來還給交易所,那這中間的2萬差價就是我賺的錢了。可能具體形式有所區別,但大概可以這么理解吧,專業人士見笑了。
外匯或者是現貨這種市場還有一個特別好玩的東西,那就是杠桿。杠桿這玩意特別刺激,像剛剛說的黃金,咱買一手要20萬,這實在不是一般人能玩的起的東西,這時候杠桿就起作用了。比如某個市場黃金的杠桿是200倍,那么一手20萬的黃金,現在你只需要花1000塊就可以買過來玩了。當然,這漲跌的時候盈利或者虧損的錢,還是按照之前的來,1000塊與20萬之間的差值,還是交易所借給你的。
現在你是用杠桿來進入這個游戲的,那么你是有可能完全把你本錢給虧光的,你投入了1000塊,是完全可能虧損到大于1000塊直至爆倉的,當然,你也有可能在很短的時間賺了幾倍的錢。那么交易所為了保證自己不虧錢,它就會通過某種公式設置一個虧損上限,如果你虧到一定數目,它是會強制的幫你平倉的。
這個杠桿有多刺激,給大家打個比方就知道了。比如我們在國內股票做交易,你1000塊的本錢,到頂漲停了,也就賺個100塊,10%的盈利率是吧(不包括打新股情況)。那么在有杠桿的市場是啥情況呢,1000塊的本錢,在200倍杠桿下,如果今天漲了10%,盈利率是2000%,直接翻了20倍??!當然,你也有可能一下虧個20倍導致褲子都虧沒了。而且這些事情全部發生在轉瞬之間,盤面上一個點位的波動,你都得在心中先乘上200再說。所以我之前看有個朋友做這種盤,他的收益浮動就是一下+1000,一下-1000的跳動,我覺得我沒這個心理素質玩這個...
更更刺激的是,像外匯這種盤,是全天都可以隨時交易的。不像我國的股票,每個半天只有2個小時左右的交易時間,并且今日購買的股票,第二天才能交易,無法進行日內交易。
量化交易
從上面有關交易的內容中,我們可以看出,如果我們是自己人工來做交易,往往會有很多問題。
首先我們人是有情緒波動的,在交易的過程中,會有一些非理性的決策。即便你是分析師,或者你跟隨一位強力分析師來做交易,也不可避免的遇到這些問題。面對波動,你眼睜睜看著自己的口袋慢慢變扁,即便你可能認識到這種波動是一種正?,F象,也有可能忍不住自己的雙手含淚割肉。等你回過頭再看這些波動的情況才意識到這只不過是大驅使下的小小調節,而自己就被這種小小的變化給打敗了,隨即懊惱不已,追悔莫及,心里暗暗下定決心,下波翻盤!
然后以此循環。
我們做人工操作,還有一個極常見的問題,就是容易跟風,所謂遇漲買漲,見跌割肉,大概就是虧錢的少俠們交易的常態了。
那我們的量化交易,就是一種可以避免這些人為劣勢的投資方法了。量化交易通過先進的數學模型,利用計算機技術從龐大的歷史數據中海選出能帶來超額收益的多種「大概率」事件,利用這些事件制定策略,自動的完成交易。
上面那些東西是從百度百科抄的,我還是用自己的話來解釋下。首先,量化交易可以理解為一個自動化交易程序,這個程序分三個流程:輸入策略,執行策略,輸出結果。
策略比較好理解,比如我覺得這只股票在漲了兩天之后,必然會跌!這就是一個策略,我通過算法來實現,每當遇到連續漲了兩天的情況后,我就認為這是一個跌的信號,我可以進行一些賣出操作。可以理解為我這套量化交易程序的交易規則。
執行策略就是把這些策略接入到交易平臺上,然后投放到市場上,讓程序自動的為我們完成交易,每當市場達到了我們提前設置好的規則后,就會自動的進行市場交易操作。
那么,當我們通過量化交易在市場上執行了一段時間,或者通過把程序在歷史數據上跑了一段時間后,我們最終獲得的收益率或者其他的一些收益指標,就是我們的結果了。當然你賺的越多,自然這個策略可能在這個時間段就會越好。
而且我們通過量化交易來做市場,基本可以避免我們人為操作那些主觀情緒上的問題,不管市場怎么變動,機器是不會覺得樂觀或者悲觀的,它只知道規則和條件,達不到買入條件,你漲的天花亂墜蛇皮棒棒高,它都不會有任何的心里波動和買入動作。
量化交易這么好,是不是用了就賺錢?顯然沒有這么好的事咯,我們繼續分析分析。
人工智能與量化交易
人工智能在量化交易中的應用可以算個升華。常規的量化交易在金融公司可能是這么個形式,比如一個金融分析師,配一個程序員,分析師出策略,程序員把策略以代碼形式實現,接入到交易程序里(當然,我聽說現在的分析師自己要會寫代碼了)。這里的策略是分析師自己設計的,實際上還是一種主觀策略。
人工智能就是機器自己生成這種策略,通過歷史數據,來自動生成策略的模型。實際上這就是人工智能在量化交易中應用范圍了?,F在很多的智能投資顧問機器人,就是這樣的。
但實際上,不管是人工輸入策略還是人工智能自動生成的策略模型,都無法解決量化交易本身的一些弊端和風險。這就是我們上一節最后的問題了,我在這里說一下自己的理解。
量化交易的策略,總歸是根據歷史數據來總結的,但不論是股票還是外匯、現貨,他們都有一個特點,就是其當前的價格并不一定對應于目前的價值水平,而是對該公司或者品種未來預期價值的一個定量。所以,我們預測價格,看的是它的預期,歷史數據對未來價格的影響可能是不大的,它并不存在「預期」這樣的未知信息。
比如黃金價格是和美元有一定掛鉤的,如果美元大漲了,黃金可能就會跌。如果特朗普某次說了一句話,頒布了一個政策,大家預期美國的經濟形式會變好,那么美元就會漲,黃金就會跌。但美國在政策發布的時候,經濟并沒有瞬間變好,這就是預期的價值,顯然,歷史數據上看不到這些。
那么我們的策略模型,跑到歷史數據上,可能收益很高,但真實數據跑下來,可能就不是這么一回事了,這就是一個過擬合問題,在量化交易中是一個比較嚴重和常見的問題,也是要主要解決的問題之一。
還有一個問題就是,策略的回測結果,往往是跑在一個較長的時間周期上的,用我這個策略跑一年,你就能月入百萬此類。不過,這個過程中,雖然總體是賺錢的,但短線的一些回撤,會有扛不住而爆倉的情況,這是隱藏的一些風險。
這兩個問題對于人工智能產生的策略上,可能會更加突出一點,因為機器學習模型就是用已有數據作為訓練標本來對未來預測的,它很有可能有過擬合的情況。
而且特征的選取也非常的復雜,在股市上,影響股價的因素不僅僅是歷史股價了,公司的近況,股民的樂觀程度,政策以及莊家的心情等等。特征在量化交易上一定是個大學問,耗時耗力。價格預測的模型會非常復雜。
而且金融領域和別的領域有一些不同,人工智能在別的領域,你可能可以選取一些解釋性不高的方式來生成模型,比如像 AlphaGo 下圍棋,它雖然棋力驚人,但你要問它你為啥下這步棋,它說不出來。但在金融上就完全不能這樣了,預測的可解釋性至關重要,所以可以嘗試比如決策樹、SVM和樸素貝葉斯這類解釋性比較強的算法來進行價格預測。
總結
可能讀到這里,你可能就會問了,既然歷史數據意義有限,感覺量化交易和人工智能,在交易上并沒有什么卵用啊。實際上也并非如此,華爾街那么多公司已經在做的事顯然不會是毫無價值的。
用人工智能分析歷史數據和曾經發生的那些消息面,機器是可以分析和總結出規律的,當有新消息發布的時候,相比于人類,機器能夠對消息造成的影響做出更迅猛、更理性、更全面的判斷,機器能夠對數據進行加工整合,通過這些判斷來指導人們進行價格分析,這就是它的意義所在。
而且這個意義非常重大。
有點長,能看完這篇文章的都是真愛,之后的文章我將具體用代碼實戰一些量化策略和機器學習價格預測。
推薦閱讀