集合知AI 作業メモ


■ 2017.11.12
・cal_runなどプログラムが不足していたので,フォルダ丸ごと送ります. [M-Files.zip]
この中にcal_run.mがありますが,他にもプログラムが不足している可能性があるので, 解凍後フォルダーをMatlabのパス設定に追加して頂いた方が簡単だと思います.

・各銘柄がどのタイミングで選択されたかを突き止めることができました. ただし,プログラムをお渡ししても混乱の元ですので,然るべき時が来たらご希望のフォーマットにまとめてご連絡します.


■ 2017.11.8
・時価総額データ(Japan 2017/01/04時点): [CSVデータ]
2step選択で選ばれた会社の規模(流動性)を調べる際に,証券コードから時価総額を調べます.


■ 2017.10.29
証券コードを特定するプログラムを作りましたので,DAMにリンクを貼りました. また,ニューラルネットToolBoxに関する追加ファイルもアップしました.

・「stock_jpn.mat《と「stock_usa.mat《に用いた証券コードを探すプログラム:
[find_stockcode.m] [実行結果stock_code.mat]
stock_code.matをloadして頂くと,最終的に用いた証券コードが分かります.

・ニューラルネットToolBox: [zipファイル]
.../Program_Files/MATLAB/R20.../bin と同じフォルダに「toolbox《というフォルダがありますので,
そこに解凍した「nnet《フォルダを入れてください.なおバージョンはR2012bです.
動作確認として「NeuralNet.m《を実行してみてください.実行例は同ファイルに書いてあります.
なおR2012bのtoolboxは「ほぼ全て《所持していますので,もし必要なものがあればご指示ください.


■ 2017.10.27
・追試用データ: [MATLABプログラム] [日本株データ JAPAN_data.mat] [米国株データ USA_data.mat] <-- 右クリックで拡張子をmatに変えてダウンロードしてください.
データをMATLABでloadして頂くと
stock_closing_price_***.mat: 終値
stock_code_***.mat: 証券コード
stock_day_***.mat: 日付
が入っています.シミュレーションでは全4期間(または全データ)でNaNがない銘柄を抜き出して [MATLABプログラム]中の株価データ「stock_jpn.mat《と「stock_usa.mat《を作成しました.


■ 2017.10.25
プログラムおよび実データ一式をhttp://tsuzuki.ise.ibaraki.ac.jp/guest/monooki2.htmlの【集合知AI】に[MATLABプログラム]を入れておきました. 解凍すると「NeuralNet《というフォルダが出現すると思います.これがIFTA論文の執筆に用いたプログラム全体です.

IFTA_Simulations.m がmainプログラムなのでここから順に解読できるのですが,非常にややこしいと思います.
[実行例]
>> IFTA_Simulations(1, 2, 1) % 日本市場, 第1期の場合(modeは1で固定します)
>> IFTA_Simulations(2, 4, 1) % 米国市場, 第4期の場合(modeは1で固定します)
株価データは,stock_jpn.mat や stock_usa.mat に入っています.
>> laod stock_jpn.mat
した後,変数「stock_day_jpn《が日付を意味し,変数「stock_closing_price《が全銘柄の終値を意味します.

また申し訳ないことに,始値ではなく「終値《でシミュレーションしているようです.しかし実際の運用を考えると終値の方が好都合だと思います. 始値だと9時に値がつかない問題がありますが,終値ならば終了間際の価格を使うことができます. ニューラルネットの学習は時間がかかりますが使うのは一瞬なので,発注に伴うタイムグだけ考慮すれば良いと思います. また翌日の手仕舞い(終値)まで夜間を挟むので,マーケットインパクトを抑えられるかもしれません.
# 手仕舞いは,終値の成行注文でOKです.

ニューラルネットの動作は「Spatiotemporal_Analysis_simulation_Nnet.m《をご覧ください.
>> Net = NeuralNet(input, teacher, k);
で動作させています.
本体は NeuralNet.m ですが,特別なプログラムではないので,MATLABのバージョンに関係なく動作すると思います.

NeuralNetの「inputとteacher《を作るために embed.mが必要なので,同じフォルダにコピーしてください. このembedは,1次元時系列データの時間を進めながら多次元化するプログラムです.
動作確認例として
>> x = [1:50];
>> Y = embed(x, 4, 2)
をして頂くと,何をやっているか良く分かると思います.



研究室のHomeに戻る