資料整理,這個股價有季節性現象嗎?

更新 發佈閱讀 3 分鐘

這個Excel VBA程式碼是協助我檢查個股的月資料,是否有符合季節性的現象,例如檢查傳產標的是否都在12月份有很大的上漲機率,我利用Excel VBA的Public與Function的功能,使我自編的函數公式可以被Excel 的儲存格運用,從而提升資料處理的效率
另外,個股的月K資料,我是運用券商提供的看盤系統匯出,因此需要避免7、8月的除權除息因素,讀者、用者需要自行留意

Public Function SeasonalTable(ByVal xInput As Range, ByVal yInput As Range, ByVal YYY As Variant, ByVal MMM As Variant) As Variant
'引數、常數、變數、函數...

Dim ii As Variant
Dim xArrRange() As Variant
Dim yArrRange() As Variant
Dim NumData As Variant
xArrRange() = xInput
'Range資料,轉換成陣列資料型態,Google:Excel VBA & Range to ArraysyArrRange() = yInput
NumData = xInput.Count '計算Range內資料個數

For ii = 1 To NumData '注意事項 : 由Range取得資料,陣列索引值起點為1
'透過迴圈,取年份、取月份交集,逐筆求解,對全體資料而言,屬於雙迴圈,n平方的時間複雜度
If Year(xArrRange(ii, 1)) = YYY And Month(xArrRange(ii, 1)) = MMM Then Exit For
Next ii 'For ii = 0 To NumData
SeasonalTable = yArrRange(ii, 1) '函數輸出計算結果
'Debug.Print ii, yArrRange(ii, 1)
End Function

留言
avatar-img
留言分享你的想法!
avatar-img
Piemann的沙龍
21會員
122內容數
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
看更多