Posts

唔識program 點樣做量化分析 ? 一篇文教你點做 ! (下)

Image
  上兩星期分享了一段如何用Excel 做Backtest的文章,之前有提過,其實只要識得好好運用,Excel都可以幫你做一些簡單的backtest,而且backtest用的指標其實都可以寫出來,今日就同大家分享下半段。 上一次用「日升日跌」策略做藍本同大家分享了最簡單的Trading signal﹑Return﹑Toral return及加插equity curve,如果新加入的朋友不妨可以先回去看一看前一篇文章。 https://www.patreon.com/posts/wu-shi-program-93974905?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator&utm_content=join_link 今日再跟大家分享如何用excel 分析計算sharpe ratio﹑mdd﹑win rate等指標。我們要先沿用番上一次的excel。 Sharpe ratio(夏普比率) 以前的文章都解釋過sharpe ratio 的意義,簡單來說就是回報及風險的比較,如果要計算的話,我們繼續沿用上一次的excel,計算方法是計算每日平均回報除以每日回報的標準差,乘252交易日的平方根。 找一個空位開一項新的Sharpe ratio項目,然後輸入「=AVERAGE(I3:I1232)/STDEV.S(I3:I1232)*SQRT(252)」 MDD/DD(最大回撤) MDD是計算一個策略中,每一次策略回報創新高後,最大的回吐幅度是多少,直接計算MDD是有點麻煩,所以我們首先要計算每日的DD,然後再尋找所有日子的DD中最大的一日,所以我們在K行中開一行新的計算DD。 然後在K3輸入「=J3-MAX($J$2:J3)」,然後在K3的右下角的連續按兩下,把每一日的DD自動運算出來。 之後我們在右邊,任何一個空位開一項叫MDD的,然後輸入 「=MIN(K3:K1232)」 Win_rate(勝率) 就是計算每一的回報的正數還是負數,多數這種方向性的每日策略勝率都係50 – 60%左右。 之後我們在右邊,任何一個空位開一項叫win_rate的,然後輸入 「=COUNTIF(I3:I1232,">0")/1229」 *要留意...

「國指數據回測」阿爺可以決定港股命運嗎 ? 真係可以用國指炒恆指 ?

Image
  話說早一段時間,我聽標叔開live,佢講到一樣野,我講大概意思好了,忘記了實際字眼︰「你睇實個國指啦,國指唔差呢,港股好難差嫁…」初時我覺得有點有趣,但又覺得有點難量度,但亦都把又把這件事記起心入面, 之後有好幾次,我記得大概係恆指當日無咩升跌,我當時還在15﹑16應該做好倉定淡倉,但當時我望一望國指原來已經跌緊,後來恆指又真係碌埋落去,之後又有一次恆指微跌緊,但國指已經升緊,之後恆指又跟番升上去… 後來令我更加有感覺,難道國指真係有領先性 ? 其實可以望實國指炒恆指 ? 第一步:首先了解國指及恆指的組成部份 ! 在真正做量化之前,不如我地先了解一下國指的成份股是什麼 ? 同恆指又有什麼主要分別 ? 國企股指數就有50隻成份股,簡單來說就係單純同中國企業有關的指數,包括民企﹑央企﹑h股都包括在內,最大比重除了經常見到的ATM(騰訊﹑阿里﹑美團)之外,還有不少內銀股在內,而且建行更都佔了近7%。 恆指的成份股就有82隻,包括了比較多香港的公用事業股﹑本地金融股及本地地產股,其他與國企指數的分別就不是很大,而本地因素這3個部份加埋大概佔了恆指25%左右。 由此我地可見,國企指數的表現應該會更快及更直接地反映內地情況,或者更反速地反映外資對國企的投資情緒。所以國企指數表現領先恆指可能是非常合理的一件事。 不過我地都要以量化的方式計算,是否真的如此,而且能否研究出一個無論在計算上還是操作上可行的量化策略/計算。 第二步︰處理「領先」的意義 由於國企指數同恆生指數其實係同時段交易,所以沒有前後的次序,在量度領先的方法上,我們要花多一點心思設計,起碼有3種方式可以量度。 策略一︰如果前一日國指跌得多過恆指,代表之後恆指就要跌 ? 策略二︰如果國指高開幅度少過恆指,代表當日恆指都係要跌 ? 策略三︰如果國指當日日中表現比恆指差(例如開市到高位升幅少過恆指),代表當日恆指都要跌 ? 第三步︰再回測三種情況下的結果 策略一︰如果前一日國指跌得多過恆指,代表第二日恆指就要跌 ? 反之亦然? 兩者間似乎無必然關係,表現比較飄忽,不論是過夜的操作,還是第二朝番黎的操作都係比較差,由這個角度睇策略一可以話係完全失敗。 策略二︰如果國指高開幅度少過恆指,代表當日恆指都係要跌 ? 反之亦然? 這個策略似乎有少少希望,day trade方面無太大驚喜,但如果只係睇overnight條線...

唔識program 點樣做量化分析 ? 一篇文教你點做 !

Image
現在凌晨4點,阿仔岩岩食完奶換完片,我難得有2個鐘空出來的時間,跟大家分享一個日日都有人問我話題,基本上join我patreon既朋友都離唔開幾個話題, 1. 唔炒期入黎有無用 ? 有,教你分析個市點行,對你買股都一定有幫助。 2. 唔識program,D野會唔會睇唔明 ? 唔會,我寫既研究同策略都幾易明,係你有無心想去明。 3. 係咪會學到點諗策略 ? 如果你係鐘意諗策略,基本上一定比到idea你 4. 有無野即食 ? 有,睇資金流,可以自行參考大戶動作 當然,我成日同朋友講,技術唔重要,idea 先係最重要,意思即係如果你要學習點樣拎資料,點樣做回測,呢類技術層面的事,根本不太重要,你無技術你請個印度佬幫你寫program又可以,你叫chatgpt幫你又可以,所以基本上技術不太值錢,而idea有時你有錢或者坐係度半年都可以無,而無就真係無。 對於諗idea的分享,我會在之後的文章試下分享,而雖然話技術唔重要又唔值錢,但如果對於一個零program底的人,想自己寫一個backtest其實亦都不難,可以選擇坊間大量的軟件或已有的程序,例如mutichart/ trading view等,我今日就分享一個最簡單的方法 – excel ! Excel對於量化分析的用處及局限 其實excel有好多強大功能,不過不在這裡續一解釋了,在股票交易中,如果你想要建立一些簡單而且基本的策略及做回測,excel 可能是比任何一個程式都要快﹑方便﹑簡單,例如一些只涉及到單一/幾個指標的計算,什至係簡單的技術指標都可以透過excel 公式建立,最重要係網上有大量關於excel公式及股票回測的資源,跟著做總不會有大問題。 不過,excel的局限在於通常只能夠停留在處理日線級別的資料,如果你要處理一些分時數據級別的資料,或者涉及多個變量的計算,就要用python代為處理,還有例如拿取資料等爬蟲的行動也是用python會比較方便的。 今日試用3步教你用excel 建立一個簡單的量化分析。 第一︰去搵股價資料 之前有一篇文章分享過港股日升日跌模式,我就先用這個作為出發點與大家用excel 做一個最簡單的分析。 如果未睇過該篇文章,建議先回去看一看。 不過簡單來說,我地做分析之前,需要找到恆生指數的價格走勢資料,由於指數是不可以直接交易,所以最多只有ETF 或者是恆指期貨做交易可以成為交易目標,但...

「put call ratio數據回測」 比沽空數據更有效的大市指標 ? Put call ratio 升左就要小心 ? 跌左真係會識升 ? 研究Put call ratio! 改良策略分析(下篇)

Image
其實我8成寫在patreon上分享的策略﹑數據及心得我自己日常交易中都會用,但還有2成是整理這些策略期間,再新想到出來的,這些所有在patreon提及的策略我都要求有效及原創的,希望大家接收到的都是最新及有用的理論。 後來我知道有幾位訂閱的朋友是基金經理,是投行trader…當中有一位朋友跟我說,這些策略愈多人知道,策略效率就會愈低吧。當然,愈多人用效率一定會愈低的,因為我這些策略其實係賺緊超越市場的盈利,即係alpha,更加多直接的講法係,我賺緊其他人輸既錢。如果愈多人跟我們同邊,我們的市場優勢自然會變細。 不過,事實上有幾樣野,導致上面問題發生機會極細, 1. 其實我影響力還不是很大,暫時都係幾百人看我這些分享,對市場影響不會太大,畢竟妄想一朝發達的人永遠比用心去學習的人多 ;   2. 學習了又去用的人應該又會更少 ;  3. 188一個月是一個心意價,我自己不會太在意,而我的策略庫及概念還是有有很多題材,所以對我們影響其實不是太大。 好,讓我們繼續上次put call ratio的研究吧,上次我提及到要改善這個策略有兩個可以研究的方向︰ 首先,未知道Put call ratio 是什麼的讀者,建議先睇返上一次的文章,完成後再回來觀看。 1. 把2a 及2b兩個策略結合 讓他們成為策略的互相附加條件,只有兩個都情況都符合下,才會進行交易,例如 a. Put call ratio上升(睇淡) + put call ratio少於1(看淡) = 開市做淡倉直到第二朝開市平倉 b. Put call ratio下降(睇好) + put call ratio大於1(看好) = 開市做好倉直到第二朝開市平倉 其他情況例如例如Put call ratio上升(睇淡) + put call ratio大於1(看好)  或者 Put call ratio下降(睇好) + put call ratio少於1(看淡),這兩種情況就不作任何交易 結果這兩年的數據,總回報約為11000點,比起上篇文章中提及的2a策略的15000點,少了近4000點,但實際上sharpe ratio則由1.33 提升至1.76,mdd亦都由4500點減少至約2400點。 原因是因為之前的2a策略過去兩年每一日都做交易(即479日)都在做交易,但這個2a+2b策略在過去479...

「put call ratio數據回測」 比沽空數據更有效的大市指標 ? Put call ratio 升左就要小心 ? 跌左真係會識升 ?

Image
  我本身還想寫一篇關於「手把手教你做人生第一個backtest」的文章,但突如其來有我想分享多另一個指標,因為最近見到有些群組還在討論沽空這個問題,但我已經跟大家分析過沽空這個指標自從2022年7月港股通容許買2800等etf 產品後,參考性已經大幅減少。取而代之我一直尋找一個可以代替沽空的指標… 有一日,我在港交所的網頁找到put call ratio 這個指標,這個指標在香港都應該好少人用,就算有人用亦不見到用過一些很科學化的方法去分析。 何謂put call ratio ? 首先我地先看看港交所對他的定義︰認沽 / 認購比率是指在一段特定的時間內,認沽期權的成交量除以認購期權的成交量。 有些投資者會以這比例作市場方向的指標。 https://www.hkex.com.hk/eng/sorc/market_data/statistics_putcall_ratio.aspx 簡單2句說話,不過這個表有幾個重點︰ 1. 此表格主要睇期權市場成交情況 2. 無講明成交是有人新開倉還是平倉 (不過多數係新開倉) 3. 這是大戶/散戶都會做及可以做的投資 4. 如put/call ratio>1, 就係指put option(看淡期權)的成交量比call option(看好期權)多 5. 這個數據是每日早上8點才會在港交所網頁公佈 6. 港交所的網頁只有一年的數據比你下載 不過,這個數據我已經儲了2年,所以用2年數據跟大家做回測比較好,當然,平時我係會用4年以上的數據回測我才會滿意,但由於只有2年數據,所以照樣與大家稍為回測一下。 第一步︰思考測試的條件及進出場方式 由於這個數字只有在早上8點才會更新,所以相對應的可以量化的操作時間只有2個︰ 1.) 一個係day trade,只做9:30 開市開倉,然後到4點平倉 ;  或 2.) 9:30 開倉,然後第二朝9:30 視乎情況看看是否需要平倉。 另外,put / call ratio,顧問思義即係睇淡倉及好倉的比率,所以我地又可以假設看法會有兩種 a.) 當put/call ratio >1, 就代表看淡的倉位成交比較多,應該是比較淡 b.) 當今日公佈的put/call ratio 比上一日多,就代表比上一日看淡成交的多,都可以是比較淡 我會分以上2個組合測試,即係1a , 1b, 2...

「388數據回測」港股第一股 ? 港交升個市有得升 ? 港交所真的領先指標?量化研究港交所走勢與港股的關係(上)

Image
  上兩個星期同大家分析過點解388作為大市的領先指標會有問題,結論就係,如果只係單純睇住388的單日表現去判斷後市走勢,多數會出事,或者係應該要用另一個角度分析及整理,先會有好表現。詳細可以睇番前一篇文。 但關於388的所聯想到的港股策略其實並不只那麼少,我都好想研究究竟388有無機會成為一個真正的領先指標,結果我就嘗試一下再用另類的方式進行測試。亦都透過今次機會同大家分享一下。 第一步︰加入20日線做分析 大家都知道我分析的時候好喜歡提到港股的20日線是比較重要,特別是這兩年,基本上港股只要跌穿或升穿20日線都會有一個大趨勢出現,結果我就嘗試一下,如果恆指升穿20日線就CALL恆指,恆指跌穿20日線就PUT恆指,結果會係點 ? 我嘗試將情況分了做3個情境做回測,包括1. 前一日收市開倉,第二日收市平倉(C2-C1) ; 2. 第二朝開市開倉,當日收市平倉(C-O) ; 3. 前一日收市開倉,第二朝開市平倉(O2-C1)。 回測結果,基本上不需要睇太多數字,你已經會發現無論那一方式交易,結果都係一般,表現最好的只有過夜的表現,即係當你見到港股升穿20日線收市時就開好倉過夜,然後第二朝開市平倉(O2-C1),但5年回報都只係有26.65%。 第二︰用388的20日線做決定 ? 但既然這麼多來年大家都覺得應該用388做領先指標,我就想不如用388的20日線來代替恆指的20日線,決定港股的升跌吧 ? 即係話,如果388升穿20日線,我就CALL恆指 ; 跌穿20日線,我就PUT 恆指,這樣結果是否會比較好。 一樣將情況分了做3個情境做回測,包括1. 前一日收市開倉,第二日收市平倉(C2-C1) ; 2. 第二朝開市開倉,當日收市平倉(C-O) ; 3. 前一日收市開倉,第二朝開市平倉(O2-C1)。 回測結果,顯然是比起在港股用20日線的分析好很多,在3個不同的情境下,表現都有所好轉,1. 前一日收市開倉,第二日收市平倉(C2-C1) ,表現由13%升至60.45% ; 2. 第二朝開市開倉,當日收市平倉(C-O),表現由-13.18%升至7.89% ; 3. 前一日收市開倉,第二朝開市平倉(O2-C1),由26.65%提升至52.78%。 如果把這個測試結果,配合上一篇文章所提及388與恆指單日表現的比較策略,將兩個策略結合,其實會有一個更有效率的策略出來,不...

大戶資金監察系統使用手冊(下) - 大市篇

Image
  放心,雖然小朋友就快出世,但這個星期我還會找時間繼續寫2篇文的,「由港交所走勢聯想到的策略(下)」,「教你用最簡單的方法 做人生第一個backtest」,在此記低,都提醒一下自己,但既然上一篇文介紹了「大戶資金監察系統」的個股版,就等我寫埋一個大市版。 不過一樣,這個「大戶資金流監察系統」的大市版,暫時都係測試版,未正式公開,完整版一樣未必會簡單地放在patreon分享,不過同樣地寫下這篇文章,讓大家知道我近兩日我post在ig的這表應該是怎麼解讀。 不過為了報答patreon大家的支持,我短時間內會試下不定期在收市前patreon分享「個股版」及「大市版」的監察情況,不過系統還有很多位要執一執,所以時間待定...是一個短期的額外福利吧。 1. 原理 與「個股版」的原理不一樣,「大市版」是統計整個恆指80隻恆指成份股的所有資金盤路情況,由電腦推算出超過2000種交易模式,選出一堆值得參考的大戶交易模式進行觀察,並透過即日的每一筆成交數據及交易模式,觀察他們對於第二日恆指走勢的判斷,這班大戶的資金現在在「流入」或「流出」,並且每隔一段時間就會再進行學習確保所觀察之大戶為具有一定參考價值。 2. 「買」/「賣」情況 與之前的「個股版」情況差不多,進行一輪的運算後,基本上大家現時看到的畫面多數係咁樣,最左邊兩行就係電腦推算大戶昨日進行的及今日進行中資金「流入」「流出」行動,如果1,就代表大戶資金「流入」的力量比較明顯,如果顯示紅色 -1,就代表大戶資金正在「流出」的力量比較明顯。 3. 之後右邊4行 由於電腦透過學習已經找出這些最有實力的大戶的交易模式,所以根據這種交易模式,我地就可以監察這個大戶過去一年的輸、贏及賺蝕情況。 - Annual return︰這個大戶的過去一年回報,不過這裡要提一提,100%的意味並不是指他們本金基數的100%,而是整個指數的100%,例如第一個大戶他在過去一年賺100%,證明他已經賺整個指數的100%,就係大約18000點。 - Sharpe ratio︰之前文章講解過,即係每回報所承擔的風險,正常來說ratio愈高愈好,代表每回報所承擔風險愈低 - MDD(最大回撤)︰大戶不一定必勝,如果遇到他預想的情況外的事情,例如打仗,大市升跌,都會輸錢,MDD係他曾經連續輸幾多%,愈少愈好。 - Win rate︰這個大戶過去一年的勝...