Sa "Isang Random Walk Down Wall Street" (1973), iminungkahi ni Burton Malkiel, "Ang isang nakapiring na unggoy na nagtatapon ng mga pana sa mga pahina ng pinansiyal ng pahayagan ay maaaring pumili ng isang portfolio na gagawin lamang pati na rin ng isang maingat na napili ng mga eksperto." Habang ang ebolusyon ay maaaring gumawa ng tao na hindi mas matalino sa pagpili ng mga stock, ang teorya ni Charles Darwin ay napatunayan na medyo epektibo kapag inilapat nang mas direkta.
TUTORIAL: Mga Diskarte sa Stock-Picking
Ano ang Mga Genetic Algorithms?
Ang mga genetic algorithm (GA) ay mga pamamaraan sa paglutas ng problema (o heuristic) na gayahin ang proseso ng natural na ebolusyon. Hindi tulad ng mga artipisyal na neural network (ANN), na idinisenyo upang gumana tulad ng mga neuron sa utak, ginagamit ng mga algorithm na ito ang mga konsepto ng natural na pagpili upang matukoy ang pinakamahusay na solusyon para sa isang problema. Bilang isang resulta, ang mga GA ay karaniwang ginagamit bilang mga optimizer na nag-aayos ng mga parameter upang mabawasan o mapakinabangan ang ilang panukalang puna, na maaaring magamit nang nakapag-iisa o sa pagtatayo ng ANN. (Upang malaman ang higit pa tungkol sa ANNs, tingnan ang: Neural Networks: Pagtaya sa Mga Kita .)
Sa mga pinansiyal na merkado, ang mga genetic algorithm ay kadalasang ginagamit upang mahanap ang pinakamahusay na mga halaga ng kumbinasyon ng mga parameter sa isang patakaran sa kalakalan, at maaari silang itayo sa mga modelo ng ANN na idinisenyo upang pumili ng mga stock at makilala ang mga trading. Maraming mga pag-aaral ang nagpakita ng pagiging epektibo ng mga pamamaraang ito, kasama ang "Genetic Algorithms: Genesis of Stock Evaluation" (2004) at "The Application of Genetic Algorithms in Stock Market Data Mining Optimization" (2004). (Para sa higit pa, tingnan ang: Paano Nilikha ang Trading Algorithms .)
Ano ang Mga Genetic Algorithms?
Paano Gumagana ang Mga Genetic Algorithms
Ang mga algorithm ng genetic ay nilikha sa matematika gamit ang mga vectors, na kung saan ay ang dami na mayroong direksyon at kadakilaan. Ang mga parameter para sa bawat panuntunan sa pangangalakal ay kinakatawan ng isang one-dimensional vector na maaaring isipin bilang isang kromosom sa mga genetic term. Samantala, ang mga halagang ginamit sa bawat parameter ay maaaring isipin bilang mga gen, na pagkatapos ay mabago gamit ang natural na pagpili.
Halimbawa, ang isang patakaran sa pangangalakal ay maaaring kasangkot sa paggamit ng mga parameter tulad ng paglipat ng average na tagpo ng pagkakaiba-iba (MACD), isang average na paglipat ng average (Ema) at stochastics. Ang isang genetic algorithm ay pagkatapos ay i-input ang mga halaga sa mga parameter na ito na may layunin na ma-maximize ang net profit. Sa paglipas ng panahon, ang mga maliliit na pagbabago ay ipinakilala, at ang mga gumawa ng kanais-nais na epekto ay mananatili para sa susunod na henerasyon.
Mayroong tatlong uri ng mga operasyon ng genetic na maaaring isagawa:
- Ang mga crossovers ay kumakatawan sa pagpaparami at crossover na nakikita sa biyolohiya, kung saan ang isang bata ay tumatagal ng ilang mga katangian ng mga magulang nito. Ang mga representasyon ay kumakatawan sa biological mutation at ginagamit upang mapanatili ang pagkakaiba-iba ng genetic mula sa isang henerasyon ng isang populasyon hanggang sa susunod sa pamamagitan ng pagpapakilala ng mga random na maliit na pagbabago. yugto kung saan ang mga indibidwal na genom ay napili mula sa isang populasyon para sa paglaon ng paglaon (recombination o crossover).
Ang tatlong operasyon na ito ay ginamit sa isang limang hakbang na proseso:
- Unahin ang isang random na populasyon, kung saan ang bawat kromosoma ay n- haba, na may bilang bilang ng mga parameter. Iyon ay, ang isang random na bilang ng mga parameter ay itinatag na may mga elemento bawat isa.Piliin ang mga kromosoma, o mga parameter, na nagdaragdag ng kanais-nais na mga resulta (siguro netong kita).Ang isang mutation o crossover operator sa mga napiling magulang at makabuo ng isang supling.Recombine ang supling at ang kasalukuyang populasyon upang makabuo ng isang bagong populasyon na may operator ng seleksyon.Repeat hakbang dalawa hanggang apat.
Sa paglipas ng panahon, ang prosesong ito ay magreresulta sa lalong kanais-nais na mga chromosom (o mga parameter) para magamit sa isang patakaran sa pangangalakal. Ang proseso ay pagkatapos ay natapos kapag ang pagtigil sa mga pamantayan ay natutugunan, na maaaring isama ang pagtakbo ng oras, fitness, bilang ng mga henerasyon o iba pang pamantayan.
Paggamit ng Genetic Algorithms sa Trading
Habang ang mga genetic algorithm ay pangunahin na ginagamit ng mga negosyante ng institusyonal na dami, ang mga indibidwal na mangangalakal ay maaaring magamit ang kapangyarihan ng mga algorithm ng genetic - nang walang isang degree sa advanced na matematika - gamit ang ilang mga pakete ng software sa merkado. Ang mga solusyon na ito ay mula sa mga nakapag-iisa na mga pakete ng software na nakatuon patungo sa mga pinansiyal na merkado sa mga Microsoft Excel na mga add-on na maaaring mapadali ang mas maraming pagsusuri sa hands-on.
Kapag ginagamit ang mga application na ito, ang mga mangangalakal ay maaaring tukuyin ang isang hanay ng mga parameter na pagkatapos ay na-optimize gamit ang isang genetic algorithm at isang hanay ng makasaysayang data. Ang ilang mga aplikasyon ay maaaring mai-optimize kung aling mga parameter ang ginagamit at ang mga halaga para sa kanila, habang ang iba ay pangunahing nakatuon sa pag-optimize ng mga halaga para sa isang naibigay na hanay ng mga parameter. (Upang malaman ang higit pa tungkol sa mga diskarte na nagmula sa programa, tingnan ang: Ang Power of Program Trades .)
Ang curve fitting (overfitting), o pagdidisenyo ng isang trading system sa paligid ng data sa kasaysayan kaysa sa pagtukoy ng paulit-ulit na pag-uugali, ay kumakatawan sa isang potensyal na peligro para sa mga mangangalakal na gumagamit ng mga genetic algorithm. Ang anumang sistemang pangkalakal gamit ang mga GA ay dapat na masuri nang maaga sa papel bago mabuhay.
Ang pagpili ng mga parameter ay isang mahalagang bahagi ng proseso, at ang mga mangangalakal ay dapat na maghanap ng mga parameter na nagpapabagsak sa mga pagbabago sa presyo ng isang naibigay na seguridad. Halimbawa, subukan ang iba't ibang mga tagapagpahiwatig upang makita kung ang anumang tila may ugnayan sa mga pangunahing liko sa merkado. (Para sa higit pa, tingnan ang: Pagpili ng Tamang Algorithmic Trading Software .)
Ang Bottom Line
Ang mga genetic algorithm ay natatanging paraan upang malutas ang mga kumplikadong problema sa pamamagitan ng paggamit ng lakas ng kalikasan. Sa pamamagitan ng paglalapat ng mga pamamaraan na ito upang mahulaan ang mga presyo ng seguridad, maa-optimize ng mga mangangalakal ang mga patakaran sa pangangalakal sa pamamagitan ng pagkilala sa pinakamahusay na mga halaga na gagamitin para sa bawat parameter para sa isang naibigay na seguridad. Gayunpaman, ang mga algorithm na ito ay hindi ang Holy Grail, at ang mga mangangalakal ay dapat na maingat na pumili ng tamang mga parameter at hindi magkasya ang curve. (Para sa karagdagang pagbabasa, tingnan: Paano Code ang Iyong Sariling Algo Trading Robot .)
![Paggamit ng mga genetic algorithm upang matantya ang mga merkado sa pananalapi Paggamit ng mga genetic algorithm upang matantya ang mga merkado sa pananalapi](https://img.icotokenfund.com/img/algorithmic-automated-trading-basic-education/184/using-genetic-algorithms-forecast-financial-markets.jpg)