TSIC(n) 0.1.1 "FinanceTool"

NAME

TSIC - Technical Stock Indicate

SYNOPSIS

package require Tcl 8.1
package require financetool

オプション
-pos
-thisown
コマンド
objectName configure option arg
objectName cget option
objectName -acquire
objectName -delete
objectName -disown
objectName setlist list
objectName clear
objectName push_front list
objectName push_back list
objectName pop_front
objectName pop_back
objectName size
objectName at n
objectName ref type n
objectName stdev type t
objectName ema type t
objectName sma type t
objectName conv_sma type s l
objectName conv_ema type s l
objectName bollingerband t
objectName bollingerband type t
objectName cci t
objectName dmi n m
objectName hlband t
objectName macd t1 t2 sig
objectName mfi t
objectName momentum n
objectName momentum type n
objectName psychological n
objectName psychological type n
objectName rci t
objectName rci type t
objectName roc n
objectName rsi t
objectName stc_k t
objectName stc_d t m
objectName stc_sd t m y
objectName tr
objectName ultimate_osi t
objectName williams_r t
objectName vr1 t
objectName vr2 t
objectName wvr t

DESCRIPTION

TSICは株式のテクニカル指標を計算するツールです。 Tkウィジェットに似たオブジェクトのインターフェースを備えています。 計算可能な指標は指標コマンドを参照してください。

オプション

オプションはconfigureでセットし、cgetで取得します。

-pos
テクニカル指標を計算する日付の起点。 値は0から-size-1になります。0が配列の末尾(最新のデータ) の位置を指します。at と逆なので注意してください。

-thisown
インスタンスの所有権を取得する。所有権があるときは1無い時は0です。 所有権が無い時は-deleteで削除できません。普通に使ってる 分には使いません。

コマンド

基本的に全てのコマンドは、::financetool::TSICの インスタンスから使います。インスタンスの生成は、使い方サンプルを参照してください。

APIコマンド

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の基準日からtypen日後の値。 一日前の場合は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