投資関連のパッケージを作るつもりでfinancetoolというTclのパッケージを書いてみた。最近ごそごそやってたのはこれなんですが、まあとりあえずブツはこれ↓

解凍してできたfinancetool0.0.1ディレクトリをたとえばActivetcl/libの下とか、Tclから見える場所に放置すればOK。

投資関連のツールはWindowsの統合パッケージかExcelばかりなんですが、Unix系でも使えるツールが欲しいなあとか、DBは別にしたいなあとか、独自のデータをスクリーニングに組み込みたいなあとか、リアルタイムで指標を計算したいなあとか、いろいろやりたいことはあるんですが、まずは一歩、テクニカル指標を計算する拡張を書いて見ました。[[博士の論文:http://home.pacbell.net/ouster/scripting.html]]によればスクリプトはグルー(糊)みたいに使うのがよろしいというわけで、専門の統合パッケージと違って好きなDBやらグラフ描画ライブラリでスクリーニングやシミュレーションが簡単にできますです。グルーといえばTclですが、SwigでラップしてるのでRubyとかPerl用のも作ってみたい。んがちょっと見たところRubyには名前空間が無いらしい。うーむ・・・。どうやろうかな・・・。

***Tcl用に書いたリファレンス
http://reddog.s35.xrea.com/software/TSIC.html

***Pythonでの使い方
 import financetool
 tsic = financetool.TSIC()
 tsic.push_back( [3170 ,3220 ,3170 ,3210 ,6843300] ) #2003-11-26
 tsic.push_back( [3230 ,3250 ,3200 ,3250 ,5213500] ) #2003-11-27
 tsic.push_back( [3240 ,3290 ,3220 ,3290 ,4955400] ) #2003-11-28
 tsic.push_back( [3240 ,3350 ,3220 ,3340 ,6824600] ) #2003-12-01
 ...
 tsic.pos=0
 tsic.sma(10)
と、まあこんな風に移動平均を計算するわけです。データは省略してますが10日分のデータが無いとエラーが返ります。

***Rubyでの使い方
 require('financetool')
 tsic = Financetool::TSIC.new
 tsic.push_back( [3170 ,3220 ,3170 ,3210 ,6843300] ) #2003-11-26
 tsic.push_back( [3230 ,3250 ,3200 ,3250 ,5213500] ) #2003-11-27
 tsic.push_back( [3240 ,3290 ,3220 ,3290 ,4955400] ) #2003-11-28
 ....
 tsic.pos=0
 tsic.psychological(10)

***Download
-Tcl用バイナリ(8.x以上win32) 
--http://reddog.s35.xrea.com/software/financetool-0.0.2.zip
--http://reddog.s35.xrea.com/software/financetool-0.0.1.zip

-Ruby用バイナリ(Ruby1.8win32)
--http://reddog.s35.xrea.com/software/financetool-0.0.2.win32_ruby.zip

-Python用バイナリ(Python2.3win32)
--http://reddog.s35.xrea.com/software/financetool-0.0.2.win32_python.zip

-ソース
--http://reddog.s35.xrea.com/software/financetool-0.0.1src.zip

----
[[CategoryTclTk]] [[CategorySoft]]

HTML convert time: 0.001 sec.