TSIC(n) 0.1.1 "FinanceTool"
TSIC - Technical Stock Indicate
package require Tcl 8.1
package require financetool
TSICは株式のテクニカル指標を計算するツールです。
Tkウィジェットに似たオブジェクトのインターフェースを備えています。
計算可能な指標は指標コマンドを参照してください。
オプションはconfigureでセットし、cgetで取得します。
- -pos
-
テクニカル指標を計算する日付の起点。
値は0から-size-1になります。0が配列の末尾(最新のデータ)
の位置を指します。at と逆なので注意してください。
- -thisown
-
インスタンスの所有権を取得する。所有権があるときは1無い時は0です。
所有権が無い時は-deleteで削除できません。普通に使ってる
分には使いません。
基本的に全てのコマンドは、::financetool::TSICの
インスタンスから使います。インスタンスの生成は、使い方 や
サンプルを参照してください。
- objectName configure option arg
-
オプションの値の設定
- objectName cget option
-
オプションの値の取得
- objectName -acquire
-
オブジェクトの所有権を得る
- objectName -delete
-
オブジェクトの削除
- objectName -disown
-
オブジェクトの所有権を放棄する
- objectName setlist list
-
データlistをセットする。
引数のデータは5本値のリストで、Open High Low Close Volumeの順に
繰り返し格納したベタなリストです。
例えば2004-3-10(110 125 105 120 70000)と2004-3-11(121 128 110 112 80000)の
株価をセットする時は古い方を先頭にして次のようにします。
|
package require financetools
set data [list 110 125 105 120 70000 121 128 110 112 80000]
financetools::TSIC tsic
tsic setlist $data
|
- objectName clear
-
全ての要素をクリアします。
- objectName push_front list
-
先頭に要素を追加します。list は5本値のリストです。
setlistと違って一回に一日分だけしか追加できません。
- objectName push_back list
-
末尾に要素を追加します。list は5本値のリストです。
setlistと違って一回に一日分だけしか追加できません。
- objectName pop_front
-
先頭の要素を削除します。
- objectName pop_back
-
末尾の要素を削除します。
- objectName size
-
要素数を返します。
- objectName at n
-
nの位置にある要素を返します。
n は0からsize -1までで、0が先頭を指します。
-posと逆なので注意してください。
指標コマンドは、-posで指定された位置のテクニカル指標を
計算します。
注意:typeの引数は o h l c v のどれか一文字で、それぞれ
Open High Low Close Volumeを表しています。typeを引数に取る
指標は、その値で計算します。それ以外の文字が入力された時は
Closeがデフォルトで用いられます。
- objectName ref type n
-
-posの基準日からtypeのn日後の値。
一日前の場合はn = -1、当日の場合はn = 0 になります。
- objectName stdev type t
-
typeの標準偏差。
- objectName ema type t
-
typeの指数平滑移動平均。
- objectName sma type t
-
typeの単純移動平均。
- objectName conv_sma type s l
-
typeの移動平均乖離率(EMAで計算)。
- objectName conv_ema type s l
-
typeの移動平均乖離率(SMAで計算)。
- objectName bollingerband t
-
終値のボリンジャーバンド。
返り値は{+σ -σ +2σ -2σ +3σ -3σ}の順のリストです。
一般的にt = 25が用いられます。
- objectName bollingerband type t
-
typeのボリンジャーバンド。
返り値は{+σ -σ +2σ -2σ +3σ -3σ}の順のリストです。
- objectName cci t
-
CCI(Commodity Channel Index)。
- objectName dmi n m
-
DMI。
返り値は{+DM -DM DX ADX}の順のリストです。
一般的にn = 14 、m = 14が用いられます。
Note:単純移動平均で計算しています。
- objectName hlband t
-
HLBand。
返り値は{High Low Center}の順のリストです。
一般的にt = 20が用いられます。
- objectName macd t1 t2 sig
-
MACD。
返り値は{MACD Signal}の順のリストです。
一般的にt1 = 12、t2 = 26、sig = 9が用いられます。
- objectName mfi t
-
MFI(Money Flow Index)。
- objectName momentum n
-
終値のモーメンタム。
現在の値 - n日前の値。
- objectName momentum type n
-
typeのモーメンタム。
- objectName psychological n
-
終値のサイコロジカル。
- objectName psychological type n
-
typeのサイコロジカル。
- objectName rci t
-
終値のRCI。
一般的にn = 10が用いられます。
- objectName rci type t
-
typeのRCI。
- objectName roc n
-
ROC(Rate of Change:資本収益率)。
一般的にn = 12が用いられます。
- objectName rsi t
-
RSI。
一派的にt = 14が用いられます。
- objectName stc_k t
-
ストキャスティクス %K。
一般的にt = 5が用いられます。
- objectName stc_d t m
-
ストキャスティクス %D。
一般的にt = 5、m = 3が用いられます。
- objectName stc_sd t m y
-
ストキャスティクス slow%D。
一般的にt = 5、m = 3、t = 3が用いられます。
- objectName tr
-
TrueRange。
- objectName ultimate_osi t
-
究極のオシレーター。
一般的にt =7が用いられます。
- objectName williams_r t
-
Williams %R。
- objectName vr1 t
-
ボリュームレシオ1。
返り値は 0〜∞、均衡時 100。
- objectName vr2 t
-
ボリュームレシオ2。
返り値は 0〜100、均衡時 50。
- objectName wvr t
-
和光ボリュームレシオ。
返り値は -100〜100。均衡時 0。
TSICを使うにはTSICオブジェクトを生成し、計算用の値をセットし、
計算が終わって不必要になったら明示的に破棄する必要があります。
基本的な使い方と後始末の手順は次のサンプルのようになります。
この例ではデータをハードコーディングで格納していますが、
現実的にはデータベースなどから引いてくることとなります。
|
package require financetool
# TSICオブジェクトの生成
financetool::TSIC S7200
# データのセット
# obj add_last Op Hi Lo Cl Vl Date
#-----------------------------------------------------------
S7200 push_back { 3750 3780 3730 3780 4923900 } ;#2004-01-05
S7200 push_back { 3770 3780 3700 3730 5650400 } ;#2004-01-06
S7200 push_back { 3740 3740 3620 3670 5491400 } ;#2004-01-07
S7200 push_back { 3680 3710 3620 3620 5334700 } ;#2004-01-08
S7200 push_back { 3700 3730 3610 3710 9015000 } ;#2004-01-09
...
# 計算の起点日をセット
S7200 configure -pos 0
# RSI(14)を計算。セットしたデータが足りない場合はエラーが返る。
puts "RSI14=[S7200 rsi 14]"
# TSICオブジェクトの破棄
S7200 -delete
|