ラベル R の投稿を表示しています。 すべての投稿を表示
ラベル R の投稿を表示しています。 すべての投稿を表示

2009年8月14日金曜日

GMMAチャート改良版




下手なコードだな-.... orz

GMMA <- function(code, start, end) {
library("quantmod")

ss <- paste(start, end,sep="::")

fn <- paste("~/repo/yahoo/", code, ".csv", sep="")
# データの読み込み
data <- read.zoo(fn, header=T, sep=",")

fn2 <- paste("~/repo/jpg/", code, ".jpg", sep="")
jpeg(fn2, width=640,height=480)

t <- paste("GMMA(", code, ")", "- (Short(red), Long(blue))")

# subsetで表示範囲を指定
candleChart(
data,
name = t,
theme = chartTheme("white"),
TA="addVo();
addEMA(3,col='red');
addEMA(5,col='red');
addEMA(8,col='red');
addEMA(10,col='red');
addEMA(12,col='red');
addEMA(15,col='red');
addEMA(30);
addEMA(35);
addEMA(40);
addEMA(45);
addEMA(50);
addEMA(60)",
subset=ss)

dev.off()
}

2009年8月13日木曜日

TTR

Financeタスクの一部.

テクニカル分析のパッケージが入っとる。
と言うよりも、バックテストやポートフォリオ管理一式か。
http://cran.r-project.org/web/packages/TTR/index.html

ctv

下のタスクごとインストールするのには、以下の手順がお手軽。

1. まずは"ctv"パッケージをインストールする。
2. install.packages("ctv")
3. library("ctv")
4. Econometricsのタスクを一括インストールしたい場合は、
install.views("Econometrics") or update.views("Econometrics")

ナイーブベイズ

パッケージ 'e1071'をインストールすればOK.
それ以外のパッケージについては、以下のリンク。
http://cran.r-project.org/web/views/Bayesian.html
日本語の教科書が欲しい。

naiveBayes {e1071} R Documentation
Naive Bayes Classifier

Description

Computes the conditional a-posterior probabilities of a categorical class variable given independent predictor variables using the Bayes rule.

Usage

## S3 method for class 'formula':
naiveBayes(formula, data, laplace = 0, ..., subset, na.action = na.pass)
## Default S3 method:
naiveBayes(x, y, laplace = 0, ...)

## S3 method for class 'naiveBayes':
predict(object, newdata,
type = c("class", "raw"), threshold = 0.001, ...)

Arguments

x A numeric matrix, or a data frame of categorical and/or numeric variables.
y Class vector.
formula A formula of the form class ~ x1 + x2 + .... Interactions are not allowed.
data Either a data frame of predictors (caegorical and/or numeric) or a contingency table.
laplace positive double controlling Laplace smoothing. The default (0) disables Laplace smoothing.
... Currently not used.
subset For data given in a data frame, an index vector specifying the cases to be used in the training sample. (NOTE: If given, this argument must be named.)
na.action A function to specify the action to be taken if NAs are found. The default action is not to count them for the computation of the probability factors. An alternative is na.omit, which leads to rejection of cases with missing values on any required variable. (NOTE: If given, this argument must be named.)
object An object of class "naiveBayes".
newdata A dataframe with new predictors.
type If "raw", the conditional a-posterior probabilities for each class are returned, and the class with maximal probability else.
threshold Value replacing cells with 0 probabilities.
Details

The standard naive Bayes classifier (at least this implementation) assumes independence of the predictor variables, and Gaussian distribution (given the target class) of metric predictors. For attributes with missing values, the corresponding table entries are omitted for prediction.

Value

An object of class "naiveBayes" including components:

apriori Class distribution for the dependent variable.
tables A list of tables, one for each predictor variable. For each categorical variable a table giving, for each attribute level, the conditional probabilities given the target class. For each numeric variable, a table giving, for each target class, mean and standard deviation of the (sub-)variable.
Author(s)

David Meyer David.Meyer@R-project.org. Laplace smoothing enhancement by Jinghao Xue.

Examples

## Categorical data only:
data(HouseVotes84, package="mlbench")
model <- naiveBayes(Class ~ ., data = HouseVotes84)
predict(model, HouseVotes84[1:10,-1])
predict(model, HouseVotes84[1:10,-1], type = "raw")

pred <- predict(model, HouseVotes84[,-1])
table(pred, HouseVotes84$Class)

## using laplace smoothing:
model <- naiveBayes(Class ~ ., data = HouseVotes84, laplace = 3)
pred <- predict(model, HouseVotes84[,-1])
table(pred, HouseVotes84$Class)

## Example of using a contingency table:
data(Titanic)
m <- naiveBayes(Survived ~ ., data = Titanic)
m
predict(m, as.data.frame(Titanic)[,1:3])

## Example with metric predictors:
data(iris)
m <- naiveBayes(Species ~ ., data = iris)
## alternatively:
m <- naiveBayes(iris[,-5], iris[,5])
m
table(predict(m, iris[,-5]), iris[,5])
[Package e1071 version 1.5-19 Index]

2009年7月5日日曜日

Rmetrics

公式

バニラオプションの解析だけじゃなくて、色々なものが含まれているRパッケージ。

参考にさせて頂いたページ:
http://d.hatena.ne.jp/teramonagi/

インストール方法:
source("http://www.rmetrics.org/Rmetrics.R")
install.Rmetrics()

初期化:
library(fOptions)

プライシング:
GBSOption(TypeFlag, S, X, Time, r, b, sigma, title = NULL, description = NULL)
BlackScholesOption(...)
Black76Option(TypeFlag, FT, X, Time, r, sigma, title = NULL, description = NULL)
b:キャリーコスト(年率)
r:金利(年率)
S:原資産価格
FT:先物価格
Time:満期までの期間(年)
title:名前がつけられる
TypeFlag:"c"でコールオプション、"p"でプットオプション
X:行使価格

ギリシャ:
GBSGreeks(Selection, TypeFlag, S, X, Time, r, b, sigma)
GBSCharacteristics(TypeFlag, S, X, Time, r, b, sigma)
b:キャリーコスト(年率)
r:金利(年率)
S:原資産価格
sigma:ボラティリティ
Time:満期までの期間(年)
TypeFlag:"c"でコールオプション、"p"でプットオプション
X:行使価格
Selection:リスク指標の種類。デルタ"delta",ガンマ "gamma",ベガ "vega",シータ "theta",ロー "rho"、ラムダ "lambda"

インプライドボラティリティ:
GBSVolatility(price, TypeFlag, S, X, Time, r, b, tol, maxiter)
price:オプション価格
b:キャリーコスト(年率)
r:金利(年率)
S:原資産価格
Time:満期までの期間(年)
TypeFlag:"c"でコールオプション、"p"でプットオプション
X:行使価格

→オプションの価格表をネットから取得して、ピコピコグラフにしてみますか。
 その前に、書籍の検算かなぁ。

2009年4月25日土曜日

get2.rb

・Rの呼び出しをバッチで追加した
・銘柄をいくつかバッチで実行するように修正

2009年3月30日月曜日

やっちまった。。。

下のチャート、全部だめじゃん。
安値ベースで作られていることになってる。

スクレイピングのスクリプトのデータ並びが、
始値、終値、安値、高値になってるのを見落とした。o..............rz

5銘柄分のチャートを全部削除。
ついでに、rubyとRのスクリプトも修正して、コマンド2発でチャート作成まで完了。

2009年3月29日日曜日

Rでの手順 v2

結構めんどいなぁ。
スクリプト書かないと。

data <- read.csv("9427.csv")
data <- ts(data$close, start=c(2007,4), frequency=248)
jpeg("~/9427.jpg",width=1200,height=800)
GMMA(data, 200)
dev.off()

jpeg()関数

Rのplot()で出力したのをjpegにして貼付けているんだけど、
macbookでの見た目と同じにするようにしてみた。

単純に、jpeg("~/2121.jpg",height=800, width=1200)とかするだけだった。
凄く良く出来ているなぁ、使いこなしたいけど、いつの日かー

2009年3月28日土曜日

Rでの手順

病み上がりの頭だと忘れそうだから。
こっちは、Rでの手順

> library(tseries)
> source("GMMA.R")
> gold <- read.csv("1326.csv") > gold <- ts(gold$close, start=c(2006, 1), frequency=248)
> jpeg("~/1326.jpg")
> GMMA(gold)
> dev.off()

GMMAをRで表示してみた



1. 適当に取得したい株価データをYahooから引っこ抜く。
2. データの順番は以下の通り
 データのヘッダ(ex,: date, open, high, low, close, volume, fixed)
3. 取得したままだと新しいのが先に来ているので、ひっくり返す
4. それをRに読み込ませて、インジケータを表示させる

その結果は、こんな感じ