Build Heterogeneous Agent Model (HAM) in R

更新於 發佈於 閱讀時間約 4 分鐘
rm(list=ls());gc()
library(data.table)
library(ggplot2)
library(doSNOW)
library(foreach)
library(tidyverse)
library(tibbletime)
library(rlang)
#-----Settings---------#
Ft=0
a=1
b=0.05
c=0.02
d=0.95
eta=0.1
lambda=0.45
v_alpha=0.0025
v_beta=0.025
v_gamma=0.0025
N0=100
K0=50
#------read table----------#
Data<-fread("price.txt",data.table = F)
#-------------------------#
colnames(Data)<-c("Code","Name","Date","Turnover","Price")
TW_names<-unique(Data$Name)
Data<-Data %>%
mutate(log_P=log(Price)) %>%
mutate(Demand_F=c*(Ft-log_P)+rnorm(n=nrow(Data),sd=v_gamma)) %>%
mutate(Demand_C=b*(log_P-lag(log_P))+rnorm(n=nrow(Data),sd=v_beta)) %>%
mutate(Attr_F=0,Attr_C=0)
#------building model-----#
Data_append<- foreach(ix = 1:length(TW_names),.combine="rbind")%do%{
test<-Data %>% filter(Name==TW_names[ix])
for(iy in 4:nrow(test)){
test$Attr_C[iy]=(exp(test$log_P[iy])-exp(test$log_P[iy-1]))*test$Demand_C[iy-2]+d*test$Attr_C[iy-1]
test$Attr_F[iy]=(exp(test$log_P[iy])-exp(test$log_P[iy-1]))*test$Demand_F[iy-2]+d*test$Attr_F[iy-1]
}
return(test)
}
Data_append<-Data_append %>% mutate(FtoC=ifelse(Attr_C>Attr_F,0.5+lambda,0.5-lambda),CtoF=ifelse(Attr_F>Attr_C,0.5+lambda,0.5-lambda))
chartist<- foreach(ix = 1:length(TW_names),.combine="rbind")%do%{
test<-Data_append %>% filter(Name==TW_names[ix])
test=test %>%
mutate(N=N0) %>%
mutate(K=K0) %>%
mutate(Deter=runif(nrow(test),min = 0,max=1))
for(iy in 2:nrow(test)){
test$K[iy]=ifelse(test$Deter[iy]<(N0-test$K[iy-1])/N0*(eta+test$FtoC[iy-1]*(test$K[iy-1])/(N0-1)),test$K[iy-1]+1,ifelse(test$Deter[iy]>(1-(test$K[iy-1]/N0*(eta+test$CtoF[iy-1]*(N0-test$K[iy-1])/(N0-1)))),test$K[iy-1]-1,test$K[iy-1]))
}
return(test)
}
C_W=chartist %>% mutate(chartist_weight=K/N0)
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Zhaung Eric的沙龍 的其他內容
Download Stock Data from WRDS (accounts are required)
R example of Branching Ratio
Download Stock Data from WRDS (accounts are required)
R example of Branching Ratio
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在某些情況下,別人提供的 Pretrained Transformer Model 效果不盡人意,可能會想要自己做 Pretrained Model,但是這會耗費大量運
Thumbnail
在進行多層次線性模型(MLM)當中,有時候我們不只會加入層次1的預測變項。我們也會想加入層次2預測變項。本文將介紹加入層次2預測變項的各種模型,並解釋其公式和R語言操作方法。因為內容比較多,所以篇幅比較長。 多層次線性模型(MLM),截距是表示所有學校的平均值。斜率是指模型中自變量的係數,表
今天聊聊 Marc Abeille[1] 所著作的《Linear Thompson Sampling Revisited》[2]。 這篇文章是分析Linear Thompson Sampling的理論經典文章。 文章裡面示範了如何將 Thompson取樣, 看作是一種對參數的擾動,
Thumbnail
Data Analyst 工作過程中所使用的預估方法,不只用在工作上,也可用於投資
Thumbnail
這篇文章分享了作者在參與預估專案時的思考脈絡和學習點,透過兩個具體的案例,探討了預估方法中重要的假設和挑戰。
Thumbnail
在 ICT 2022 Model 文章中,我們介紹了價格的行為模式以及時間與價格的關係。文章透過實際案例說明瞭ICT 2022 Model的應用,並給出了日內PD Array的相關概念。最後,作者呼籲讀者要多加回測練習,加強對ICT概念的掌握。文章涵蓋了豐富的交易策略和理論知識,適合投資熱衷者閱讀。
Thumbnail
以下內容是我閱讀Probabilistic Graphical Model, Koller 2009一書的讀書筆記,未來將不定期新增內容,此技術屬AI人工智慧範疇。 1.2 Structured Probabilistic Models 既然要融入Uncertainty和Probability
Thumbnail
本文章記錄了我在2023年8月透過Finlab課程和自己的研究開發出的一個量化投資策略程式,回測顯示年化報酬率達到99%。該策略在大盤不穩或空頭時期具有避免持股的特性,並在8年的回測中實現了驚人的資產增長。從2024年開始,我將開始實際將這一策略應用於市場,並在文章中記錄相關的實際操作。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在某些情況下,別人提供的 Pretrained Transformer Model 效果不盡人意,可能會想要自己做 Pretrained Model,但是這會耗費大量運
Thumbnail
在進行多層次線性模型(MLM)當中,有時候我們不只會加入層次1的預測變項。我們也會想加入層次2預測變項。本文將介紹加入層次2預測變項的各種模型,並解釋其公式和R語言操作方法。因為內容比較多,所以篇幅比較長。 多層次線性模型(MLM),截距是表示所有學校的平均值。斜率是指模型中自變量的係數,表
今天聊聊 Marc Abeille[1] 所著作的《Linear Thompson Sampling Revisited》[2]。 這篇文章是分析Linear Thompson Sampling的理論經典文章。 文章裡面示範了如何將 Thompson取樣, 看作是一種對參數的擾動,
Thumbnail
Data Analyst 工作過程中所使用的預估方法,不只用在工作上,也可用於投資
Thumbnail
這篇文章分享了作者在參與預估專案時的思考脈絡和學習點,透過兩個具體的案例,探討了預估方法中重要的假設和挑戰。
Thumbnail
在 ICT 2022 Model 文章中,我們介紹了價格的行為模式以及時間與價格的關係。文章透過實際案例說明瞭ICT 2022 Model的應用,並給出了日內PD Array的相關概念。最後,作者呼籲讀者要多加回測練習,加強對ICT概念的掌握。文章涵蓋了豐富的交易策略和理論知識,適合投資熱衷者閱讀。
Thumbnail
以下內容是我閱讀Probabilistic Graphical Model, Koller 2009一書的讀書筆記,未來將不定期新增內容,此技術屬AI人工智慧範疇。 1.2 Structured Probabilistic Models 既然要融入Uncertainty和Probability
Thumbnail
本文章記錄了我在2023年8月透過Finlab課程和自己的研究開發出的一個量化投資策略程式,回測顯示年化報酬率達到99%。該策略在大盤不穩或空頭時期具有避免持股的特性,並在8年的回測中實現了驚人的資產增長。從2024年開始,我將開始實際將這一策略應用於市場,並在文章中記錄相關的實際操作。