【量化交易】 初識量化交易 001

本文是量化交易零基礎入門教程中的一篇,點擊藍字鏈接可查看該系列詳情。


摘要

  • 爲什麼需要量化交易?
  • 量化交易是做什麼?
  • 量化交易的價值何在?
  • 做量化交易需要什麼?
  • 聚寬是什麼?
  • 零基礎如何快速入門量化交易?
  • 自測與自學

量化交易比傳統交易強多少?

  • 它能讓你的交易效率提高百倍,量化交易之於傳統交易方法,如同大型收割機之於鋤頭鐮刀,機槍大炮之於刀劍棍棒。

  • 也就是是說,傳統交易方法是這樣的:
    1.jpg

  • 而量化交易是這樣的:
    2.jpg
  • 在金融最爲發達的美國,量化交易已大行其道,佔據了 70% 以上的股市成交量。可以說量化交易是未來的趨勢。當然,隻言片語不能解釋清楚,接下來,我們具體地介紹下量化交易。

量化交易是做什麼?

  • 量化交易是指藉助現代統計學和數學的方法,利用計算機技術來進行交易的證券投資方式。便於理解的說,量化交易主要是做這樣的事:

  • 從一個靈感開始

    • 靈感就是指那些你想驗證的可能會盈利的方法,比如銀行股可能是良好的投資品種、一旦跨過 20 日均線後股價會繼續漲、流傳許久的羊駝交易法等等。靈感獲取的方式可以是閱讀、聽人說、自己悟等等。

    • 這裏我們以一個簡單的情況爲例進行講解。比如你的靈感是這樣的:

        如果股價顯著低於近幾日的平均價,則買入
        如果股價顯著高於近幾日的平均價,則賣出
      
    • 現在,你想知道這樣操作究竟會不會賺錢?

  • 把靈感細化成明確的可執行的交易策略

    • 一般靈感都很模糊,需要將其細化成明確的可執行的策略,目的是爲了能得到確定的結果,以及爲後續程序化準備。比如,你通過閱讀了解到索羅斯的反身性概念,想將它應用到股市,這個反身性就很模糊,就需要明確什麼條件下買賣,買賣什麼品種,買賣多少量等,從而形成一個明確的交易策略,讓不同人根據你的描述在相同情形下都能做出相同的操作。

    • 繼續以之前那個關於平均價的靈感爲例:

        如果股價顯著低於近幾日的平均價,則買入
        如果股價顯著高於近幾日的平均價,則賣出
      
    • 顯然它是不夠明確的。比如多低叫顯著低於?多高叫顯著高於?近幾日究竟是幾日?買入賣出是買賣多少?我們把它細化:

      如果股價低於近 20 日平均價 10%,則用全部可用資金買入
      如果股價高於近 20 日平均價 10%,則賣出全部所持的該股票

    • 還有一點不明確的地方,買賣哪個股票呢?我們認爲這個交易方法盈利與否應該跟交易哪個股票關係不大,但 st 股票除外(知道 st 股票是一類有風險特別大的股票就好,詳情請百度),所以股票的選擇範圍是除 st 股外的國內 A 股的所有股票。所以我們進一步細化:

        每個交易日監測是除st股外的國內A股的所有股票的股價
        如果股價低於近20日平均價10%,則用全部可用資金買入該股票
        如果股價高於近20日平均價10%,則賣出全部所持有的該股票
      
    • 現在我們基本已經把之前的靈感細化成明確的可執行的交易策略。當然,可能還有些地方不夠明確,也可能有些細節還不確定要改動,這些可以隨時想到隨時再改,不必一次做到完美。

  • 把策略轉成程序

    • 就是把明確後的策略通過編程轉成程序,好讓計算機能根據歷史數據模擬執行該策略,以及能根據實際行情進行反應並模擬交易或真實交易。

    • 簡言之,就是把剛剛的策略翻譯成計算機可識別的代碼語言,即把這個:

        每個交易日監測是除st股外的國內A股的所有股票的股價
        如果股價低於近20日平均價10%,則用全部可用資金買入該股票
        如果股價高於近20日平均價10%,則賣出全部所持有的該股票
      
    • 寫成類似這樣的代碼(下面的代碼並不完全符合,只是展示下大概的樣子):

        def initialize(context):
            g.security = ['002043.XSHE','002582.XSHE']
        def handle_data(context, data):
            for i in g.security:
                last_price = data[i].close
                average_price = data[i].mavg(20, 'close')
                cash = context.portfolio.cash
                if last_price > average_price:
                    order_value(i, cash)
                elif last_price < average_price:
                    order_target(i, 0)
      
    • 這樣一來,就把剛纔細化好策略轉成了代碼程序,計算機就能運行了。這個過程你可以理解成用計算機能聽懂的語言(代碼),把你的策略告訴給計算機了。

  • 檢驗策略效果

    • 現在計算機理解了你的策略,你現在可以藉助計算機的力量來驗證你的策略了。基本的檢驗策略方法有回測和模擬交易兩種方法。

    • 回測是讓計算機能根據一段時間的歷史數據模擬執行該策略,根據結果評價並改進策略。繼續之前的那個均價的策略例子的話就是這樣的:

      • 設定初始的虛擬資產比如 500000 元、一個時期比如 20060101 到 20160101,把這一時期的各種數據如估計股價行情等發給計算機,計算機會利用這些數據模仿真實的市場,執行你剛纔告訴它的策略程序。最後最後計算機會給你一份報告,根據這個報告你就會知道,在 20060101 的 500000 元,按照你的策略交易到 20160101,會怎樣?一般包括盈虧情況,下單情況,持倉變化,以及一些統計指標等,從而你能據此評估交易策略的好壞。

      • 如果結果不好,則需要分析原因並改進。如果結果不錯,則可以考慮用模擬交易進一步驗證。

    • 模擬交易是讓計算機能根據實際行情模擬執行該策略一段時間,根據結果評價並改進策略。與回測不同,回測是用歷史數據模擬,模擬交易使用實際的實時行情來模擬執行策略的。舉例就是這樣:

      • 設定初始的虛擬資產比如 500000 元,選擇開始執行模擬交易的時間點,比如明天。那麼從明天開始,股市開始交易,真實的行情數據就會實時地發送到計算機,計算機會利用真實的數據模仿真實的市場,執行你的策略程序。同時,你會得到一份實時更新的報告。這報告類似於回測得到的報告,不同的是會根據實際行情變化更新。同樣你能據此評估交易策略的好壞。
    • 可見,回測是用歷史數據模擬執行策略,模擬交易是用未來的實際行情模擬執行策略。如果策略在回測與模擬交易的表現都非常好,你可以考慮進行完全真實的真金白銀的實盤交易。

  • 進行實盤交易並不斷維護修正

    • 實盤交易就是讓計算機能自動根據實際行情,用真金白銀自動執行策略,進行下單交易。注意,這時不再是用虛擬資產模擬交易,虧損和盈利都是真錢。實盤交易一般也會給出一份類似模擬交易的會不斷更新的報告,從而不斷要觀察策略的實盤表現並及時調整與改進策略,使之持續平穩盈利。

量化交易的價值何在?

  • 量化交易的價值有很多,只提下最突出的價值所在。

  • 可以利用大量歷史數據檢驗策略,效率提升百倍。當我們想驗證交易策略的時候,一個基本的想法是想知道它在歷史上表現如何,這往往需要大量的歷史數據與計算量,量化交易做一次回測可能幾分鐘就可以得到結果了,相比於傳統人工做法效率的提升是成百倍的。

  • 更科學更客觀的衡量交易策略的效果。比如一個關於某技術指標的策略,人工的進行了 10 個交易日的驗證,效果都不錯,但這就能說明這指標不錯嗎?不,10 次太少了,你需要更多的驗證,比如 1000 個交易日,人工驗證不可行,量化交易則又快又準。而且量化交易還可以利用數學與統計學自動給出客觀的結果,比如年化收益率、最大回撤率、夏普比率等。

  • 全市場實時捕捉交易機會。當你知道一個盈利條件,當股價一旦滿足這條件,你就可以操作盈利。問題是,市場幾千個股票,股價時時刻刻都在變動,你能盯住幾個,你會錯失多少個機會。但量化交易可以利用計算機全市場實時盯盤,可以不錯過任何交易機會,加倍你的盈利能力。

  • 更多的盈利機會。量化交易可以利用計算機對海量數據分析得到常人難以發現的盈利機會,而且有些機會只有量化交易才能利用。比如你發現一種交易方法,其特點是盈虧的額度相等,但盈利的概率是 55%,虧損概率 45%。首先這種小差距的概率規律,非量化交易不能發現,其次,要利用這個規律盈利需要大量次數的交易才能穩定盈利,這也非量化交易不可。

做量化交易需要什麼?

  • 通常一個投資者做量化交易所需要做的準備,就如同讓一個農民自己去造一個大型收割機,而且還是從挖礦開始做起,極度困難,所以量化交易最初在金融與科技最爲發達的美國由少數頂級精英發起的。

  • 要有各種數據。要有能方便使用的各種投資相關的數據。這要考慮到各種數據的收集、存儲、清洗、更新,以及數據取用時的便捷、速度、穩定。

  • 還要有一套量化交易的系統,要有能編寫策略、執行策略、評測策略的系統。這要考慮到系統對各種策略編寫的支持、系統進行回測與模擬的高仿真、系統執行策略的高速、系統評測策略的科學可靠全方面。

  • 可能有人會問,做投資之前難道要學當程序員嗎?曾經是,但現在量化交易的門檻已大大降低。

聚寬是什麼?

  • 聚寬是一家量化交易平臺,爲投資者提供做量化交易的工具與服務,幫助投資者更好地做量化交易。也就是說,在聚寬量化交易平臺,“大型收割機” 已經爲你準備好了,不需要你自己造了,你只需要學會使用它。

  • 聚寬讓做量化交易的成本極大降低

    1. 提供多種優質的便於取用的數據
    2. 提供投資研究功能,便於自由地統計、研究、學習等
    3. 提供多種的策略評價指標與評價維度
    4. 支持多種策略的編寫、回測、模擬、實盤
  • 聚寬讓量化交易的成長之路更爲平坦

    1. 在社區可以分享交流量化交易的心得與疑惑
    2. 在量化課堂可學習量化交易相關的各種知識
    3. 在策略擂臺可以策略 pk 展現風采證明自己
    4. 在大賽專區可以獲取社會量化比賽資訊
    5. 在策略商城可以上架策略供他人付費訂閱
    6. 在基金經理孵化訓練營則助力快速成長爲一名職業基金經理

零基礎如何快速入門量化交易?

  • 學習這個教程。確切的說,繼續學習下一篇。

自測與自學

  • 到 聚寬 先隨便逛逛。
  • 搜索瞭解下 James Simons、DE.Shaw、Emanuel Derman 等量化界名人。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章