順序統計量 - 模擬與交易.5

更新於 發佈於 閱讀時間約 11 分鐘
  1. 假如你有8筆實際的時間序列價格資料,依大小排序後為X(1)、X(2)、...、X(8),然後價格資料給予標準化
  2. 假如你有8筆數據,是透過標準常態分配亂數而得,由小而大依序為 Y(1)、Y(2)、...、Y(8)
  3. 對於步驟2,重複抓取數十萬次,然後取平均,分別得到常態分配狀態下,8筆資料的大小順序期望值,並製作為查表值的依據,所以Z(1)、Z(2)、...、Z(8)依序為 : -1.4317、-0.8600、-0.4831、-0.1624、0.1452、0.4667、0.8570、1.4328
  4. 有了順序期望值之後,直覺的,之後每次產生的8筆隨機亂數,也依序按大小排序,然後與對應的順序期望值做相減,並對該差值取平方,然後予以加總,也就是計算D(i)=X(i)-Z(i),對D(i)取平方,然後把8筆取平方後的D(i)值在加總
  5. 承續前文的常態亂數分配製作方法,對於不同的資料筆數所對應的常態分配大小順序分配期望值,範例以8筆資料為依據,單尾5%的臨界水準值(約為5.25),利下述程式碼改寫與再利用,製作成所需查表值
  6. 以MC程式碼及交易策略而言,可以構想如下
    x=0;
    y=Average(High,8);
    z=StdDev(High,8);
    For ii = 0 to 7 begin
    x=x+Power(((NthHighest(ii+1,High,8)-y)/z) - Rank(ii+1) , 2);
    End;
    If x>5.25 then Buy next bar at Highest(High,8) stop;
  7. Excel VBA 亂數模擬參考程式碼(8筆資料、5.25的查表值)如下

Public RankSort(1 To 8) As Variant
Const FixConst As Variant = 0.398942284 '1/sqr(2*3.1415926)
Public Sub avgRank()
'模擬常態分配隨機變數的順序統計量期望值
Dim seed, seedCalc, nextSeed, NorValue As Variant
Dim ArrNorRandom(1 To 8) As Variant
Dim iith, testNum As Long
For testNum = 1 To 10000
iith = 1
Do
seed = Int(Rnd() * 1000000)
seedCalc = ((seed - 500000) * 0.000001) * 8 '模擬4個標準差範圍的 N(0,1) 常態分配變數
NorValue = Format(FixConst * Exp(-0.5 * seedCalc * seedCalc), "0.000000") '常態分配機率函數的數值
nextSeed = 0
nextSeed = Int(0.001 * (seed * seed))
nextSeed = Format(0.000001 * nextSeed - Int(0.000001 * nextSeed), "0.000000")
nextSeed = Int(1000000 * nextSeed)
nextSeed = Int(((23 + iith * 0.01) * nextSeed + 1011 * iith)) Mod 999999
nextSeed = Format(nextSeed * 0.00001 * FixConst, "0.000000")
'Debug.Print seedCalc, NorValue, nextSeed
If (nextSeed) < NorValue Then
ArrNorRandom(iith) = seedCalc
'Debug.Print iith, ArrNorRandom(iith)
'Sheets("工作表3").Cells(iith, 1) = ArrNorRandom(iith)
iith = iith + 1
End If
Loop While iith <= 8
'泡沫排序法
Dim swapTemp, ii, jj As Variant
For jj = 0 To 6
For ii = 1 To 7 - jj
If ArrNorRandom(ii) > ArrNorRandom(ii + 1) Then
swapTemp = ""
swapTemp = ArrNorRandom(ii + 1)
ArrNorRandom(ii + 1) = ArrNorRandom(ii)
ArrNorRandom(ii) = swapTemp
End If
Next ii
Next jj
'Debug.Print ArrNorRandom(1), ",", ArrNorRandom(2), ",", ArrNorRandom(3), ",", ArrNorRandom(4)
'Debug.Print ArrNorRandom(5), ",", ArrNorRandom(6), ",", ArrNorRandom(7), ",", ArrNorRandom(8)

For ii = 1 To 8
RankSort(ii) = RankSort(ii) + ArrNorRandom(ii)
Next ii
Next testNum

For ii = 1 To 8
RankSort(ii) = RankSort(ii) / testNum
Next ii
'Debug.Print RankSort(1), ",", RankSort(2), ",", RankSort(3), ",", RankSort(4)
'Debug.Print RankSort(5), ",", RankSort(6), ",", RankSort(7), ",", RankSort(8)
End Sub

Public Sub RankLevel()
Dim seed, seedCalc, nextSeed, NorValue As Variant
Dim ArrNorRandom(1 To 8), sqrDiff(1 To 100000) As Variant
Dim iith, testNum As Long
avgRank '事前取得順序統計量的期望值,並宣告為全域變數

For testNum = 1 To 100000 '模擬次數
iith = 1
Do
seed = Int(Rnd() * 1000000)
seedCalc = ((seed - 500000) * 0.000001) * 8
'模擬4個標準差範圍的 N(0,1) 常態分配變數
NorValue = Format(FixConst * Exp(-0.5 * seedCalc * seedCalc), "0.000000") '常態分配機率函數的數值
nextSeed = 0
nextSeed = Int(0.001 * (seed * seed))
nextSeed = Format(0.000001 * nextSeed - Int(0.000001 * nextSeed), "0.000000")
nextSeed = Int(1000000 * nextSeed)
nextSeed = Int(((23 + iith * 0.01) * nextSeed + 1011 * iith)) Mod 999999
nextSeed = Format(nextSeed * 0.00001 * FixConst, "0.000000")

If (nextSeed) < NorValue Then
ArrNorRandom(iith) = seedCalc
iith = iith + 1
End If
Loop While iith <= 8

'泡沫排序法
Dim swapTemp, ii, jj As Variant
For jj = 0 To 6
For ii = 1 To 7 - jj
If ArrNorRandom(ii) > ArrNorRandom(ii + 1) Then
swapTemp = ""
swapTemp = ArrNorRandom(ii + 1)
ArrNorRandom(ii + 1) = ArrNorRandom(ii)
ArrNorRandom(ii) = swapTemp
End If
Next ii
Next jj

'本次產生的隨機亂數排序後與對應的序列期望值做運算
For ii = 1 To 8
xTemp = ArrNorRandom(ii) - RankSort(ii)
sqrDiff(testNum) = sqrDiff(testNum) + xTemp * xTemp
Next ii
Next testNum '本次模擬次數,testNum=100000

'sqrDiff陣列共計10萬筆數據,泡沫排序,求解第95001序位
For jj = 0 To 4999 '資料數據共計10萬筆,求解第95001序位
For ii = 1 To 100000 - 1 - jj
If sqrDiff(ii) > sqrDiff(ii + 1) Then
swapTemp = ""
swapTemp = sqrDiff(ii + 1)
sqrDiff(ii + 1) = sqrDiff(ii)
sqrDiff(ii) = swapTemp
End If
Next ii
Next jj
Debug.Print sqrDiff(95001)
End Sub


留言
avatar-img
留言分享你的想法!
avatar-img
Piemann的沙龍
21會員
113內容數
Piemann的沙龍的其他內容
2025/04/01
2025.04.01 明顯的,Cheat GPT 功能越來越強大,應用範圍只多不少 !! 輸入問題如下 : 1. 有一個隨機碼,長度為5個不重複的數字及小寫英文字母所組成, 例如 e2k9z、ju72d、...,共有一萬筆數據 2. 請設計一個雜湊函數方案,讓隨機碼對應到實數整數空間 3.
Thumbnail
2025/04/01
2025.04.01 明顯的,Cheat GPT 功能越來越強大,應用範圍只多不少 !! 輸入問題如下 : 1. 有一個隨機碼,長度為5個不重複的數字及小寫英文字母所組成, 例如 e2k9z、ju72d、...,共有一萬筆數據 2. 請設計一個雜湊函數方案,讓隨機碼對應到實數整數空間 3.
Thumbnail
2024/12/01
龐氏騙局定義 : 由後繼者的投資本金,支付前期投資者的紅利,謂之 !! 案例 : 制定獎勵生育誘因、追求人口紅利之國策,其實就是隱形的龐氏騙局 !! 那生命的意義,除了在於繼起宇宙生命之外,還有啥意義 ? 對曰 : 還得創造傳奇 ! 那如何創造傳奇 ? 對曰 : 確定目標、集中資源、專研
2024/12/01
龐氏騙局定義 : 由後繼者的投資本金,支付前期投資者的紅利,謂之 !! 案例 : 制定獎勵生育誘因、追求人口紅利之國策,其實就是隱形的龐氏騙局 !! 那生命的意義,除了在於繼起宇宙生命之外,還有啥意義 ? 對曰 : 還得創造傳奇 ! 那如何創造傳奇 ? 對曰 : 確定目標、集中資源、專研
2024/11/17
1990~1991之際,爆發第一次波灣戰爭(市場稱為第三次石油危機),起因是兩伊戰爭期間,伊拉克對科威特欠下巨債,戰後伊拉克藉端生事,要求取消相關債權,科威特不願意,因此伊拉克便開始調動軍隊部署於邊境(1990.七月中下旬),緊張局勢快速升溫,及至入侵(1990.08.02)科威特佔領全境後(199
2024/11/17
1990~1991之際,爆發第一次波灣戰爭(市場稱為第三次石油危機),起因是兩伊戰爭期間,伊拉克對科威特欠下巨債,戰後伊拉克藉端生事,要求取消相關債權,科威特不願意,因此伊拉克便開始調動軍隊部署於邊境(1990.七月中下旬),緊張局勢快速升溫,及至入侵(1990.08.02)科威特佔領全境後(199
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
在交易千萬別見樹不見林 中示範如何在同一張圖表上加入不同週期的行情走勢,本篇將對MultiCharts初體驗-函式撰寫、MultiCharts初體驗-訊號撰寫 的程式進行改寫,讓程式可以讀取到多週期的K線資料。 在MC中可以用Data1、Data2、⋯⋯、Data99的指定方式,來存取圖表中的數列
Thumbnail
在交易千萬別見樹不見林 中示範如何在同一張圖表上加入不同週期的行情走勢,本篇將對MultiCharts初體驗-函式撰寫、MultiCharts初體驗-訊號撰寫 的程式進行改寫,讓程式可以讀取到多週期的K線資料。 在MC中可以用Data1、Data2、⋯⋯、Data99的指定方式,來存取圖表中的數列
Thumbnail
要觀察一個數值的集合有很多方法,透過這些方法得出數值集合的某些特徵,可以讓我們除了「感覺」外,能有更「理性客觀」的方式來理解這個數值集合的特徵。 眾數:一個集合中出現最多次的那個元素,以此作為一個集合的代表性特徵算是很直覺的作法。但缺點是,以眾數作為一個集合的標籤,我們無法透過眾數得知
Thumbnail
要觀察一個數值的集合有很多方法,透過這些方法得出數值集合的某些特徵,可以讓我們除了「感覺」外,能有更「理性客觀」的方式來理解這個數值集合的特徵。 眾數:一個集合中出現最多次的那個元素,以此作為一個集合的代表性特徵算是很直覺的作法。但缺點是,以眾數作為一個集合的標籤,我們無法透過眾數得知
Thumbnail
程式條件選股 主要做波段與短線,非價值型投資,操作週期約1個禮拜~多個月 選股純屬分享,本人並沒有帶入帶出及買賣推薦,任意跟單請盈虧自負,本人不帶任何責任。 大盤還在季線上主要還是以偏多操作,所以目前還是先分享做多選股 由於當沖根據金管會統計勝率較低,所以我也不做當沖,主要皆分享一些剛回檔均線或是剛
Thumbnail
程式條件選股 主要做波段與短線,非價值型投資,操作週期約1個禮拜~多個月 選股純屬分享,本人並沒有帶入帶出及買賣推薦,任意跟單請盈虧自負,本人不帶任何責任。 大盤還在季線上主要還是以偏多操作,所以目前還是先分享做多選股 由於當沖根據金管會統計勝率較低,所以我也不做當沖,主要皆分享一些剛回檔均線或是剛
Thumbnail
很多時候我們會聽到,現在股價高檔要留意下修的風險或現在的股價在低檔可以開始進行布局,這時你心中一定會想,股價的高檔或是低檔這些位階,是如何判斷的?這次我將告訴你,我如何透過『相對位階估價法』評估股價的位階,同時我也會告訴你這種『相對位階估價法』的缺點,避免你陷入投資方法的誤區。
Thumbnail
很多時候我們會聽到,現在股價高檔要留意下修的風險或現在的股價在低檔可以開始進行布局,這時你心中一定會想,股價的高檔或是低檔這些位階,是如何判斷的?這次我將告訴你,我如何透過『相對位階估價法』評估股價的位階,同時我也會告訴你這種『相對位階估價法』的缺點,避免你陷入投資方法的誤區。
Thumbnail
檢查樣本數據是否符合常態分配,價格數據若是符合常態分配,則視為正常行情,反之則視為有突破訊號。常態分配檢定有數種方法,本文介紹的是w/s檢定,檢定統計量僅需計算樣本全距(w),還有標準差(s),然後求其比值,接者透過查表比較其上、下臨界值,查表值請參考下圖
Thumbnail
檢查樣本數據是否符合常態分配,價格數據若是符合常態分配,則視為正常行情,反之則視為有突破訊號。常態分配檢定有數種方法,本文介紹的是w/s檢定,檢定統計量僅需計算樣本全距(w),還有標準差(s),然後求其比值,接者透過查表比較其上、下臨界值,查表值請參考下圖
Thumbnail
承續前篇內容,另外使用第二種隨機性檢定方式,來判斷價格是否處於盤整盤,假若為盤整盤,價格應集中在均線位置附近或是前後相鄰的數值差異很小,數據計算方法如下
Thumbnail
承續前篇內容,另外使用第二種隨機性檢定方式,來判斷價格是否處於盤整盤,假若為盤整盤,價格應集中在均線位置附近或是前後相鄰的數值差異很小,數據計算方法如下
Thumbnail
價格數據可透過隨機性檢定方式,以判斷行情是否在盤整盤狀態。假若行情為盤整盤,前後價格應該偏向漲跌互見的形式;反之若為趨勢盤,則前後價格應該偏向漲、漲、漲與跌、跌、跌的連續形式。 統計方法如下 : 假設有一系列的觀察值X(1)、X(2)、...、X(n),系列相關係數與統計檢定量定義如下
Thumbnail
價格數據可透過隨機性檢定方式,以判斷行情是否在盤整盤狀態。假若行情為盤整盤,前後價格應該偏向漲跌互見的形式;反之若為趨勢盤,則前後價格應該偏向漲、漲、漲與跌、跌、跌的連續形式。 統計方法如下 : 假設有一系列的觀察值X(1)、X(2)、...、X(n),系列相關係數與統計檢定量定義如下
Thumbnail
利用常態分配亂數,模擬10萬次,產生極值新創造的價格空間與母體數據的距離比值。以下表為例,0.2794之意即為8日以來24筆高、低、收數據的(最高價-次高價)/(最高價-最低價)統計式,只有5%的機會超過27.94%這個比例。 實務上,日K棒資料若有看到超過該水準值,可以判斷出現異常的新高、新低價格
Thumbnail
利用常態分配亂數,模擬10萬次,產生極值新創造的價格空間與母體數據的距離比值。以下表為例,0.2794之意即為8日以來24筆高、低、收數據的(最高價-次高價)/(最高價-最低價)統計式,只有5%的機會超過27.94%這個比例。 實務上,日K棒資料若有看到超過該水準值,可以判斷出現異常的新高、新低價格
Thumbnail
價格走勢取決於市場資金和心理,而影響這兩項的因素則是前文提過的四大面向:基本面、技術面、籌碼面、消息面。這裡要談的不是這些,而是價格走勢自身的一些特性,是經濟學家與統計學家所在專研的事情,因此本篇有滿滿的數學與專有名詞。老話一句:無誠勿試!
Thumbnail
價格走勢取決於市場資金和心理,而影響這兩項的因素則是前文提過的四大面向:基本面、技術面、籌碼面、消息面。這裡要談的不是這些,而是價格走勢自身的一些特性,是經濟學家與統計學家所在專研的事情,因此本篇有滿滿的數學與專有名詞。老話一句:無誠勿試!
Thumbnail
能夠客觀的衡量下一周周選的結算多空,是賣方的一項利器 本篇文章試著用筆者交易選擇權17年的經驗,試著用對諸項關鍵因子評分,綜合加分減分後,得出總成績,總成績愈高,則吾人對下次周選的結算就更有信心,適合賣Put。
Thumbnail
能夠客觀的衡量下一周周選的結算多空,是賣方的一項利器 本篇文章試著用筆者交易選擇權17年的經驗,試著用對諸項關鍵因子評分,綜合加分減分後,得出總成績,總成績愈高,則吾人對下次周選的結算就更有信心,適合賣Put。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News