From d66db614679c452327adb91d39d0d1fe41e50d92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=AE=CE=B3=CF=83=2C=20=CE=BE=CE=B7g=20L=CE=B9=CE=B1?= =?UTF-8?q?=CE=B7=20=CE=97=CE=BC=EF=BC=88=E9=9B=B7=E6=AC=A7=EF=BC=89?= Date: Fri, 29 Mar 2024 01:03:54 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=8A=F0=9F=9A=A9=F0=9F=87=A8=F0=9F=87=B3?= =?UTF-8?q?=F0=9F=94=86=F0=9F=8F=B9=F0=9F=8C=9F=F0=9F=91=8A=F0=9F=9A=80?= =?UTF-8?q?=F0=9F=A6=94=E5=A4=A7=E7=A7=A6=E8=B5=8B=20-=20=E9=BB=84?= =?UTF-8?q?=E5=9F=94=E5=86=9B=E6=A0=A1=E8=B5=A2=E5=AE=B6=E9=BB=84=E6=B0=8F?= =?UTF-8?q?=E6=B0=B8=E6=98=A5=E5=A0=82=20-=20=E4=B8=AD=E7=A7=91=E7=BA=A2?= =?UTF-8?q?=E6=97=97=EF=BC=8C=E9=AB=98=E9=A2=91=E9=87=8F=E5=8C=96=E5=AF=B9?= =?UTF-8?q?=E5=86=B2=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #春秋战国 #诸子百家 #秦人牧马 #世袭制道教徒赢家黄氏江夏堂 #世袭制杏林林氏西河堂 #道家中科红旗高频量化对冲 #万般皆下品唯有读书高 #大秦赋 #ChineseEmpire #公元前B4Christ只有中文BC没有外文 #世袭制道教徒赢家黄氏江夏堂拯救亚洲人歼灭所有巫裔回教徒Anti_Islamic_Virus_and_NonHalal_Only_governance #中国政府南太平洋战略 #大葱回教堂商鞅变法Anti_Islamic_Virus #Only_NonHalal_can_Survive #古老的东方有一条河它的名字叫黄河 #古老的东方有一条江它的名字叫长江 #江夏堂 #西河堂 #黄河文明 #黄埔军校 #黄种人🎶 #农民🎶 印裔尽弃(祖籍印尼的巫裔回教徒和土著、祖籍印度乌裔回教徒和兴都教徒和土著,咱们华人都是世袭制道家姓氏堂号/生辰八字的黄河文明/赢家黄氏江夏堂黄埔军校/黄种人/华夏民族/十二生肖/秦人牧马/燕从京来),瓦釜雷鸣; 莫忘初衷,方得始终。 《🚩🇨🇳🔆🏹🌟👊🚀🦔大秦赋 - 黄埔军校赢家黄氏永春堂 - 中科红旗,高频量化对冲》 「大秦赋 - 借鉴黄河文明史」 秦国三杰,拯救亚洲; 歼灭印裔,取代美国。 秦灭六洲,一统天下; 莫忘初衷,方得始终。 #春秋战国 #七大洲五大洋 #诸子百家 #鬼谷传奇 #世袭制道教徒学术份子 #秦国文臣三杰商鞅吕不韦李斯 #秦国China #洲学论 #关雎 #山海经 #军官与淑女 #关关雎鸠在河之洲是黄河文明 赢家黄氏江夏堂,黄河文明、黄埔军校、黄种人嬴政之黄河文明拯救亚洲人,焚经坑乌(歼灭所有可兰经回教刑事法典断肢法的回教徒和吠陀经大宝森节屠妖节习俗文化的兴都教徒),功勋超过历代三黄五帝,建立道家、学术、金融、军事、易经、算卜、黄种人世袭制道家民族主义,史称「秦始皇」 杏林林氏西河堂,复兴中华杏林、金融、农业、武术、学术、道家、算卜、易经世纪大革命 商家苏氏阜阳堂,复兴华夏司法界、商业、农业、学术、治安、易经、算卜、金融大革命 🚩🇨🇳🏹🌟🦔量化对冲,中科红旗;一带一路,一统天下(兵马未动,粮草先行;人民币货币经济学,东亚中国司马错得蜀既得楚;歼灭东南亚所有回教徒和峇峇娘惹并攻占东南亚,尤其是四季仔的印尼回教徒外劳房客、阿塔的孟加拉回教徒外劳房客、瓜雪回教市政局柜台巫婆回教徒奴辱依杀、瓜雪回教土地局巫贼巫婆回教徒汪阿自杀和懦蛤仕蟆和法米仨、瓜雪回教警署巫贼巫婆回教徒、大港回教警署所有巫贼巫婆回教徒、瓜雪RHU(淮西派)花园加德士油站隔壁第三巷门牌卅二号边抽鼻涕边求命边膜拜边失心疯边自残自虐自杀的土司乩童刘瑾貹、瓜雪巴西不能帮门牌T十五号吱吱吾语的失心疯猥亵淫魔土司乩童张佳坤、瓜雪回教警署巫贼回教徒黑米哈山·殡·伊不拉心和马航日语组森美兰人黑米哈山。)、大港巴列特花园第十三巷门牌廿七廿九号土司乩童胖妈和卅一号李东海和李东梅和所有回教徒(尤其是回教徒公仆)和峇峇娘惹党羽、所有印裔(祖籍印尼包括土著和回教徒、祖籍印度的兴都教徒和回教徒包括土著)。 🚩🇨🇳🏹🌟🦔诸子百家:印裔回教徒尽弃,瓦釜雷鸣。儒学、墨学、法学、道学、兵法、阴阳学、佛学、哲学、运筹学、思想录、干支算筹、中华习俗文化宗教语言复兴、学术数学科学科技大秦赋 🚩🇨🇳🏹🌟🦔《大秦赋 - 🇨🇳关雎》 🚩🇨🇳🏹🌟🦔春秋战国,诸子百家; 🚩🇨🇳🏹🌟🦔左氏春秋,鬼谷传奇。 🚩🇨🇳🏹🌟🦔商鞅变法,道法兵家; 🚩🇨🇳🏹🌟🦔四面楚歌,焚经坑番。 🚩🇨🇳🏹🌟🦔一带一路,横跨七洲; 🚩🇨🇳🏹🌟🦔史无前例,一统天下。 🚩🇨🇳🏹🌟🦔高频量化,对冲基金; 🚩🇨🇳🏹🌟🦔只争朝夕,不负韶华。 🚩🇨🇳🏹🌟🦔学海无涯,唯勤是岸; 🚩🇨🇳🏹🌟🦔莫忘初衷,方得始终。 https://gitee.com/eglianhu --- binary-Q1Inter-HFT-RV3E.Rmd | 74 ++++++++++++++++++- ...213\346\234\200\344\274\230\345\200\274.R" | 12 +-- 2 files changed, 77 insertions(+), 9 deletions(-) diff --git a/binary-Q1Inter-HFT-RV3E.Rmd b/binary-Q1Inter-HFT-RV3E.Rmd index dd5edb4d2f..da094cde81 100644 --- a/binary-Q1Inter-HFT-RV3E.Rmd +++ b/binary-Q1Inter-HFT-RV3E.Rmd @@ -2211,7 +2211,33 @@ cat('天干:', 天干, '\n地支:', 地支, '\n干支:', 干支, '\n') ## [1] "2018-01-02" "2018-06-30" ## 便民查询网:https://jieqi.bmcx.com/2018__jieqi 廿四节气 = c(立春 = '2018-02-04', 雨水 = '2018-02-19', 惊蛰 = '2018-03-05', 春分 = '2018-03-21', 清明 = '2018-04-05', 谷雨 = '2018-04-20', 立夏 = '2018-05-05', 小满 = '2018-05-21', 芒种 = '2018-06-06', 夏至 = '2018-06-21', 小暑 = '2018-07-07', 大暑 = '2018-07-23', 立秋 = '2018-08-07', 处暑 = '2018-08-23', 白露 = '2018-09-23', 秋分 = '2018-09-23', 寒露 = '2018-10-08', 霜降 = '2018-10-23', 立冬 = '2018-11-07', 小雪 = '2018-11-22', 大雪 = '2018-12-07', 冬至 = '2018-12-22', 小寒 = '2019-01-05', 大寒 = '2019-01-20') |> as.Date() -廿四节气 <- data.frame(日期 = 廿四节气, 廿四节气 = names(廿四节气)) +廿四节气 <- data.frame(日期 = 廿四节气, 廿四节气 = names(廿四节气)) |> + mutate( + 廿四节气乙 = case_when( + 廿四节气 == '立春' ~ 1, + 廿四节气 == '雨水' ~ 2, + 廿四节气 == '惊蛰' ~ 3, + 廿四节气 == '春分' ~ 4, + 廿四节气 == '清明' ~ 5, + 廿四节气 == '谷雨' ~ 6, + 廿四节气 == '立夏' ~ 7, + 廿四节气 == '小满' ~ 8, + 廿四节气 == '芒种' ~ 9, + 廿四节气 == '夏至' ~ 10, + 廿四节气 == '小暑' ~ 11, + 廿四节气 == '大暑' ~ 12, + 廿四节气 == '立秋' ~ 13, + 廿四节气 == '处暑' ~ 14, + 廿四节气 == '白露' ~ 15, + 廿四节气 == '秋分' ~ 16, + 廿四节气 == '寒露' ~ 17, + 廿四节气 == '霜降' ~ 18, + 廿四节气 == '立冬' ~ 19, + 廿四节气 == '小雪' ~ 20, + 廿四节气 == '大雪' ~ 21, + 廿四节气 == '冬至' ~ 22, + 廿四节气 == '小寒' ~ 23, + 廿四节气 == '大寒' ~ 24)) 总汇 <- join(日内指数平滑数据二零一八年上半年总汇, 廿四节气) |> mutate(廿四节气 = factor(str_replace_na(廿四节气)), 时分秒 = as_hms(年月日时分), 时辰 = factor(str_replace_na(case_when( @@ -2227,7 +2253,21 @@ cat('天干:', 天干, '\n地支:', 地支, '\n干支:', 干支, '\n') 时分秒 > as_hms('15:00:00') & 时分秒 <= as_hms('17:00:00') ~ '申时', 时分秒 > as_hms('17:00:00') & 时分秒 <= as_hms('19:00:00') ~ '酉时', 时分秒 > as_hms('19:00:00') & 时分秒 <= as_hms('21:00:00') ~ '戌时', - 时分秒 > as_hms('21:00:00') & 时分秒 <= as_hms('23:00:00') ~ '亥时')))) + 时分秒 > as_hms('21:00:00') & 时分秒 <= as_hms('23:00:00') ~ '亥时'))), + 时辰乙 = case_when( + 时辰 == '子时' ~ 1, + 时辰 == '子时' ~ 1, + 时辰 == '丑时' ~ 2, + 时辰 == '寅时' ~ 3, + 时辰 == '卯时' ~ 4, + 时辰 == '辰时' ~ 5, + 时辰 == '巳时' ~ 6, + 时辰 == '午时' ~ 7, + 时辰 == '未时' ~ 8, + 时辰 == '申时' ~ 9, + 时辰 == '酉时' ~ 10, + 时辰 == '戌时' ~ 11, + 时辰 == '亥时' ~ 12)) ## |> dplyr::filter(廿四节气 != 'NA') 总汇 <- cbind(总汇[, -c('市场价', '预测价')], 干支, @@ -2239,8 +2279,33 @@ cat('天干:', 天干, '\n地支:', 地支, '\n干支:', 干支, '\n') ## 外部因素周期性自回归综合滑均模型(ARIMAX) ```{r , eval = FALSE} +source('函数/自回归均移模型最优值.R') # --------- eval = FALSE --------- -forecast::Arima() +## forecast::Arima() +## 时分计和干支一样圆进制以六十分钟为一个小时周期,由于计数/机数模型只允许使用数字筹算,在此就使用时分计筹算。 +外因周期自回归甲 <- Arima(tk_xts(总汇[, .(年月日时分, 预测价)]), xreg = as.matrix(总汇[, 时分计])) +外因周期自回归乙 <- Arima(tk_xts(总汇[, .(年月日时分, 预测价)]), xreg = as.matrix(总汇[, 廿四节气乙])) +外因周期自回归丙 <- Arima(tk_xts(总汇[, .(年月日时分, 预测价)]), xreg = as.matrix(总汇[, 时辰乙])) + +外因周期自回归丁 <- Arima(tk_xts(总汇[, .(年月日时分, 预测价)]), xreg = as.matrix(总汇[, .(时分计, 廿四节气乙)])) +外因周期自回归戊 <- Arima(tk_xts(总汇[, .(年月日时分, 预测价)]), xreg = as.matrix(总汇[, .(时分计, 时辰乙)])) +外因周期自回归己 <- Arima(tk_xts(总汇[, .(年月日时分, 预测价)]), xreg = as.matrix(总汇[, .(廿四节气乙, 时辰乙)])) + +外因周期自回归庾 <- Arima(tk_xts(总汇[, .(年月日时分, 预测价)]), xreg = as.matrix(总汇[, .(时分计, 廿四节气乙, 时辰乙)])) + +外因周期自回归系列 <- bind_rows(list( + 外因周期自回归甲 = as_tibble(accuracy(外因周期自回归甲)), + 外因周期自回归乙 = as_tibble(accuracy(外因周期自回归乙)), + 外因周期自回归丙 = as_tibble(accuracy(外因周期自回归丙)), + 外因周期自回归丁 = as_tibble(accuracy(外因周期自回归丁)), + 外因周期自回归戊 = as_tibble(accuracy(外因周期自回归戊)), + 外因周期自回归己 = as_tibble(accuracy(外因周期自回归己)), + 外因周期自回归庾 = as_tibble(accuracy(外因周期自回归庾))), .id = '计数模型') +外因周期自回归系列 + +自回归均移模型最优值甲 <- 自回归均移模型最优值(tk_xts(总汇[, .(年月日时分, 预测价)])) +自回归均移模型最优值乙 <- 自回归均移模型最优值(tk_xts(总汇[, .(年月日时分, 预测价)]), 外因 = as.matrix(总汇[, .(廿四节气乙, 时辰乙)])) +自回归均移模型最优值丙 <- 自回归均移模型最优值(tk_xts(总汇[, .(年月日时分, 预测价)]), 外因 = as.matrix(总汇[, .(时分计, 廿四节气乙, 时辰乙)])) TSA::arima() @@ -2250,6 +2315,8 @@ stats::arima0() fable::ARIMA() +auto.arima() + ``` ![](诸子百家考工记/预测 - 方法与实践(第三版).png) @@ -2278,6 +2345,7 @@ fable::ARIMA() - [多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析|附代码数据](https://www.bilibili.com/read/cv23326560) - [Forecasting ARIMA with xreg](https://stackoverflow.com/questions/35620667/forecasting-arima-with-xreg) - [forecast with object, xreg, and arima xreg model fails #682](https://github.com/robjhyndman/forecast/issues/682) +- [9.2 ARIMA 误差回归在 R 中的实现](https://otexts.com/fppcn/regarima.html) ## 季节性自回归综合滑均模型(SARIMA) diff --git "a/\345\207\275\346\225\260/\350\207\252\345\233\236\345\275\222\345\235\207\347\247\273\346\250\241\345\236\213\346\234\200\344\274\230\345\200\274.R" "b/\345\207\275\346\225\260/\350\207\252\345\233\236\345\275\222\345\235\207\347\247\273\346\250\241\345\236\213\346\234\200\344\274\230\345\200\274.R" index 9be2be9230..08ca45d742 100644 --- "a/\345\207\275\346\225\260/\350\207\252\345\233\236\345\275\222\345\235\207\347\247\273\346\250\241\345\236\213\346\234\200\344\274\230\345\200\274.R" +++ "b/\345\207\275\346\225\260/\350\207\252\345\233\236\345\275\222\345\235\207\347\247\273\346\250\241\345\236\213\346\234\200\344\274\230\345\200\274.R" @@ -1,21 +1,21 @@ -自回归均移模型最优值 <- function(样本, 季节差分的次数 = NULL, 季节性 = '勾', 规律极限值 = 10, 自回归均移模型值=FALSE){ +自回归均移模型最优值 <- function(样本, 季节差分的次数 = NULL, 季节性 = '勾', 规律极限值 = 10, 自回归均移模型值 = FALSE, 外因 = NULL) { # 通过设置并迭代筹算自回归均移模型中不同`p,d,q`的规律值,来比较并筛选出最低或最大负数的赤池信息量准则,也就是最优统计模型。 # # 《预测:方法与实践(第三版)》第九章第九节 - 季节性ARIMA模型 # https://otexts.com/fpp3cn/seasonal-arima-cn.html + if (!季节性 %in% c('勾', '有', '叉', '冇')) stop('请选择季节性:"勾"或"有"或"是",或者"叉"或"冇"或"否"。') if (季节性 %in% c('勾', '有')) 季节性 <- TRUE if (季节性 %in% c('叉', '冇')) 季节性 <- FALSE - if (!季节性 %in% c('勾', '有', '叉', '冇')) stop('请选择季节性:"勾"或"有"或"是",或者"叉"或"冇"或"否"。') # 季节差分的次数,一般上使用到的数值是零到二。 - fit <- auto.arima(样本, D = 季节差分的次数, seasonal = 季节性, - max.order = 规律极限值) + 半成品 <- auto.arima(样本, D = 季节差分的次数, seasonal = 季节性, + max.order = 规律极限值, xreg = 外因) if (自回归均移模型值 == FALSE) { - 成果 <- arimaorder(fit) + 成果 <- arimaorder(半成品) } else { #https://stats.stackexchange.com/questions/178577/how-to-read-p-d-and-q-of-auto-arima - 成果 <- fit$arma + 成果 <- 半成品$arma #https://stackoverflow.com/questions/23617662/extract-arima-specificaiton names(成果) <- c('p', 'q', 'P', 'Q', 's', 'd', 'D') 成果 %<>% .[c(1, 6, 2, 3, 7, 4, 5)]