利用遺傳演算法預測金融市場

在《華爾街隨機漫步》(1973年)中,伯頓·馬爾基爾建議,“一隻蒙著眼睛的猴子向報紙的金融頁面投擲飛鏢,可以選擇一個投資組合,它的效果和專家精心挑選的一樣。”雖然進化可能使人在挑選股票方面不再聰明,查爾斯·達爾文的理論在更直接的應用中被證明是有效的。...

在《華爾街隨機漫步》(1973年)中,伯頓·馬爾基爾建議,“一隻蒙著眼睛的猴子向報紙的金融頁面投擲飛鏢,可以選擇一個投資組合,它的效果和專家精心挑選的一樣。”雖然進化可能使人在挑選股票方面不再聰明,查爾斯·達爾文的理論在更直接的應用中被證明是有效的。

遺傳演算法是利用自然的力量解決複雜問題的獨特方法。透過應用這些方法來預測證券價格,交易者可以透過為給定證券的每個引數確定最佳值來最佳化交易規則。

關鍵要點

  • 基於遺傳規則和進化理論的複雜計算機演算法最近在證券交易中取得了一些成功。
  • 透過運用這些方法預測證券價格,交易者可以最佳化交易規則,創造新的策略。
  • 個體交易者可以利用市場上幾種軟體包的遺傳演算法的力量。

1:40

什麼是遺傳演算法?

什麼是遺傳演算法(genetic algorithms)?

遺傳演算法(GAs)是一種模擬自然進化過程的問題解決方法(或啟髮式演算法)。與人工神經網路(ANNs)不同,人工神經網路的功能類似於大腦中的神經元,這些演算法利用自然選擇的概念來確定問題的最佳解決方案。

因此,GAs通常被用作最佳化器,用於調整引數以最小化或最大化某些反饋度量,這些反饋度量可以單獨使用,也可以在ANN的構造中使用(要瞭解有關人工神經網路的更多資訊,請參見:神經網路:預測利潤。)

在金融市場中,最常用的是遺傳演算法來尋找交易規則中引數的最佳組合值,並將其構建到用於選股和識別交易的ANN模型中。

一些研究已經證明瞭這些方法的有效性,包括“遺傳演算法:股票評估的起源”(2004)和“遺傳演算法在股票市場資料探勘最佳化中的應用”(2004)(更多資訊,請參見:如何建立交易演算法。)

遺傳演算法的工作原理

遺傳演算法是用向量在數學上建立起來的,向量是有方向和大小的量。每個交易規則的引數都用一個一維向量來表示,這個向量可以被認為是遺傳術語中的染色體。同時,每個引數中使用的值可以看作是基因,然後使用自然選擇對其進行修改。

例如,交易規則可能涉及使用移動平均收斂-發散(MACD)、指數移動平均(EMA)和隨機性等引數。然後,遺傳演算法將這些引數輸入值,以實現凈利潤最大化為目標。隨著時間的推移,一些小的變化會被引入,那些產生理想影響的變化會保留給下一代。

(另見:演算法交易基礎。)

然後可以進行三種型別的遺傳操作:

  • 雜交代表了生物學中的繁殖和雜交,即孩子表現出父母的某些特徵。
  • 突變代表生物突變,透過引入隨機的微小變化來維持種群一代到下一代的遺傳多樣性。
  • 選擇是從群體中選擇個體基因組進行後期育種(重組或雜交)的階段。

這三個操作隨後在五步流程中使用:

  1. 初始化一個隨機群體,其中每個染色體的長度為n,n是引數的個數。也就是說,用n個元素建立隨機數目的引數。
  2. 選擇染色體,或引數,以增加理想的結果(大概是凈利潤)。
  3. 對所選的雙親應用變異或交叉運算元並生成後代。
  4. 用選擇運算元將子代和當前種群重組形成新的種群。
  5. 重覆步驟二到四。

隨著時間的推移,這個過程將導致越來越有利的染色體(或引數)用於交易規則。然後,當滿足停止條件(包括執行時間、適合度、生成數或其他條件)時,程序終止。

遺傳演算法在證券交易中的應用

雖然遺傳演算法主要由機構定量交易員使用,但個人交易員可以利用市場上的幾個軟體包,在沒有高等數學學位的情況下利用遺傳演算法的威力。

這些解決方案包括面向金融市場的獨立軟體包,以及可以促進更多實際分析的Microsoft Excel附加元件。

在使用這些應用程式時,交易員可以定義一組引數,然後使用遺傳演算法和一組歷史資料對這些引數進行最佳化。一些應用程式可以最佳化所使用的引數及其值,而其他應用程式則主要關註於簡單地最佳化給定引數集的值。

曲線擬合(即過度擬合)或圍繞歷史資料設計交易系統而不是識別可重覆行為,這對使用遺傳演算法的交易員來說是一種潛在的風險。任何使用天然氣的交易系統在使用前都應在紙上進行轉發測試。

選擇引數是這個過程的一個重要部分,交易者應該找出與給定證券價格變化相關的引數。例如,嘗試不同的指標,看看是否有任何似乎與主要市場轉折相關。

底線

這些演算法不是聖杯,交易者應該小心選擇正確的引數,而不是曲線擬合。

(更多閱讀,請看:選擇正確的演算法交易軟體,程式交易的力量,以及如何編寫自己的演算法交易機器人。)

  • 發表於 2021-06-17 22:22
  • 閱讀 ( 30 )
  • 分類:金融

你可能感興趣的文章

什麼是大資料,為什麼重要,有多危險?

...PC轉移到遠端伺服器上。從那裡,有許多方法可以訪問和利用資訊。 ...

  • 發佈於 2021-03-25 07:09
  • 閲讀 ( 46 )

計算機如何產生隨機數

...機數。這就是所謂的熵。另一些時候,他們透過使用一種演算法生成“偽隨機”數,這樣結果看起來是隨機的,即使它們不是。 這個話題最近爭議更大,很多人質疑英特爾內建的硬體隨機數發生器晶片是否值得信賴。要理解為...

  • 發佈於 2021-04-08 00:19
  • 閲讀 ( 62 )

麻省理工學院的演算法預測你的instagram照片會有多受歡迎

...人阿迪蒂亞·科斯拉的一點建議。科斯拉之前提出了一種演算法,幫助演員調整頭像,讓他們更難忘,為了找出使一張照片受歡迎的因素,他仔細研究了230萬張Flickr照片。
 
 科斯拉說,他的演算法可以讓他在你上傳照片...

  • 發佈於 2021-04-26 09:09
  • 閲讀 ( 44 )

神經網路

什麼是神經網路(a neural network)? 神經網路是一系列的演算法,透過模仿人腦運作方式的過程,努力識別一組資料中潛在的關係。從這個意義上說,神經網路指的是神經元系統,無論是有機的還是人工的。神經網路能適應輸入的...

  • 發佈於 2021-06-12 13:55
  • 閲讀 ( 42 )
bpr2_00290027
bpr2_00290027

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦