SFI-ASMの基本的なエージェントの行動は,
Agent-Based Modelingの6章,p.94-95に書いてある.
2009年1月9日金曜日
ASMでBubbleを発生させたくて頑張り続ける
2009年1月8日木曜日
配当金の計算
配当金の計算は以下のとおり.
初期値は,
ASMModelSwarm.m#doWarmupStep
↓
World.m#setDividend
↓
Dividend.m#setDerivedParamsによって,
更新は,
ASMModelSwarm.m#periodStepDividend
↓
World.m#setDividend
↓
Dividend.m#dividendによって,
のように行われる.
normalは正規分布だと思われる
intrateは利率のことだと思われる.
つまり,
baseline/intrateがおよそのリスクニュートラル価格となる.
BFParams.m#USEALLBITS = YES
に変更する.
これで100Bit全部使える.
初期値は,
ASMModelSwarm.m#doWarmupStep
↓
World.m#setDividend
↓
Dividend.m#setDerivedParamsによって,
rho = exp(-1.0/((double)period));
rho = 0.0001*rint(10000.0*rho);
deviation=baseline*amplitude
gauss = deviation*sqrt(1.0-rho*rho);
dvdnd=baseline+gauss*[normal getDoubleSample]
更新は,
ASMModelSwarm.m#periodStepDividend
↓
World.m#setDividend
↓
Dividend.m#dividendによって,
dvdnd = baseline + rho*(dvdnd - baseline) + gauss*[normal getDoubleSample];
のように行われる.
normalは正規分布だと思われる
intrateは利率のことだと思われる.
つまり,
baseline/intrateがおよそのリスクニュートラル価格となる.
BFParams.m#USEALLBITS = YES
に変更する.
これで100Bit全部使える.
ASMさらに続き
GAの頻度を上げても二乗誤差は変化しないが,出来高(取引量)は増加する.
これは,秋永ら「人工株式市場と経済学」の結果と同じ.
問題は,もっとバブルな幹事をどのように出すのか,だ.
バブルが起きる条件として,
これらを実現するためには,特殊な遺伝子を持ったエージェントを作成するか,
似たような遺伝子をすべてのエージェントが持つような条件を設定すればよい.
さて,どうしたものか.
これは,秋永ら「人工株式市場と経済学」の結果と同じ.
問題は,もっとバブルな幹事をどのように出すのか,だ.
バブルが起きる条件として,
- トレンドトレーダの存在
- バンドワゴン効果
これらを実現するためには,特殊な遺伝子を持ったエージェントを作成するか,
似たような遺伝子をすべてのエージェントが持つような条件を設定すればよい.
さて,どうしたものか.
2009年1月7日水曜日
理論値との乖離
秋永,高階「人工株式市場と経済学」 電子情報通信学会技術研究報告. AI, 人工知能と知識処理Vol.97, No.499(19980123) pp. 25-32
によると,
GAの活動レベルをあげることによって標準的理論経済モデルからの乖離が大きくなる.
Santa FeのASMでは,
BFParamsにGAを制御する項目がある.
具体的には,
である.
これらを変更して,株価変動がどうなるか見てみよう.
ほとんど変化はないようだ.
によると,
GAの活動レベルをあげることによって標準的理論経済モデルからの乖離が大きくなる.
Santa FeのASMでは,
BFParamsにGAを制御する項目がある.
具体的には,
- gafrequency:GAを行う頻度(初期値:100)小さいほど頻度が高い?(逆数をとって,その確率で行うようだ)
- pmutation:1ビットあたりの突然変異率(初期値:0.01)
- newfrac:ルールが置き換わる頻度(初期値:0.05)
である.
これらを変更して,株価変動がどうなるか見てみよう.
gafrequency | pmutation | newfrac | RiskNeutral価格との偏差 | |
---|---|---|---|---|
低条件 | 100 | 0.01 | 0.05 | 6.52 |
中条件 | 50 | 0.02 | 0.10 | 6.94 |
高条件 | 25 | 0.04 | 0.20 | 6.84 |
ほとんど変化はないようだ.
Objective-Cもか!?
というわけで,ASMの解析が遅々として進まない中,
どうもやはり内部を解析できないと厳しいのではないかという結論に達しかけています.
そのためには,ASMの主言語であるObjective-Cを勉強しなければいけません.
う~む.
C++,Javaならどうとでもなるけど,Objective-Cは初なので厳しい.
Objective-C入門などを参考に少し勉強してみよう.
ただ,今週中にASMでバブルの再現ができるレベルまで到達できるかはなはだ不安.
どうもやはり内部を解析できないと厳しいのではないかという結論に達しかけています.
そのためには,ASMの主言語であるObjective-Cを勉強しなければいけません.
う~む.
C++,Javaならどうとでもなるけど,Objective-Cは初なので厳しい.
Objective-C入門などを参考に少し勉強してみよう.
ただ,今週中にASMでバブルの再現ができるレベルまで到達できるかはなはだ不安.
2009年1月6日火曜日
ASM続き
参考資料
Building the Santa Fe Artificial Stock Market
http://people.brandeis.edu/~blebaron/wps/sfisum.pdf
Building a Multi-Agent Artificial Stock Market
http://www.math.hmc.edu/math193-01/participants/projects/chicago/
Building the Santa Fe Artificial Stock Market
http://people.brandeis.edu/~blebaron/wps/sfisum.pdf
Building a Multi-Agent Artificial Stock Market
http://www.math.hmc.edu/math193-01/participants/projects/chicago/