で を作る
第61回 勉強会@東京(#TokyoR)
@teramonagi
誰や?
俺や
• ID: @teramonagi
• 職種:データ分析おじさん
–昔:SE・クオンツ
• 業務:案件推進&採用活動
• 言語:/R/Python/
3
昼は会社員をしています
さて…
4
わたくし事で大変恐縮ですが
5
先週
36歳になりました
言うまでもなく
立派なアラフォー
6
なんてこった先が見えない
7
引用: http://getnews.jp/archives/650128 より
先立つものは…
8
でも、 でそんなことは…
9
株式会社ホクソエムの鉄の掟
ないならば
作って見せよう
ホクソエム
10
キタッ!!!
11
アタイ、作りました
12
これは何?
• OANDAをRから叩くためのパッケージ
13引用: https://www.oanda.jp/service/
GUIをピコピコする代わりに を書く
14
使い方
15
使い方
Githubからインストール
• ついでに接続情報も
generate_oanda()で作成
16
install.packages("devtools")
devtools::install_github("teramonagi/oandar")
library(oandar)
OANDA_TOKEN <- "your token here"
OANDA_ACCOUNT_TYPE <- "practice" #(or "trade")
oanda <- generate_oanda(OANDA_TOKEN, OANDA_ACCOUNT_TYPE)
instrument_list()
• 取引可能通貨一覧
17
> instrument_list(oanda)
instrument display_name pip max_trade_units
1 AUD_CAD AUD/CAD 0.0001 10000000
2 AUD_CHF AUD/CHF 0.0001 10000000
3 AUD_HKD AUD/HKD 0.0001 10000000
4 AUD_JPY AUD/JPY 0.01 10000000
5 AUD_NZD AUD/NZD 0.0001 10000000
(中略)
71 ZAR_JPY ZAR/JPY 0.01 10000000
price()
• 現時点の価格を表示
18
> instruments <- c("USD_JPY", "EUR_JPY")
> price(oanda, instruments)
instrument time bid ask status
1 USD_JPY 2017-05-19 20:59:58 111.192 111.262 halted
2 EUR_JPY 2017-05-19 20:59:58 124.649 124.741 halted
instrument_history()
• 過去データの取得
19
usd_jpy <- instrument_history(oanda, "USD_JPY", count = 100)
library(ggplot2)
library(lubridate)
ggplot(usd_jpy, aes(time, open_bid)) + geom_line() +
scale_x_datetime(date_labels = "%Y/%m/%d %H:%M:%S")
発注処理系関数
• Rから発注・取消・一覧
–create_order・close_order・orders
• 取引中の取引一覧・クローズ・情報
–trade_list・close_trade・trade_information
• ポジションの一覧・クロー
–position_list・close_position
20
ストリーミング処理
• リアルタイムに為替データを取得
• 処理(売買!前述の関数を組合せる!)
21
> streaming_price(oanda, "USD_JPY",
call_back = function(df){
+ print(df)
+ })
instrument time bid ask
1 USD_JPY 2017-05-19 20:59:58 111.192 111.262
time
1 2017-05-20 07:03:21
time
1 2017-05-20 07:03:23
今後やるべきこと
• instrument_history()で過去データ
分析
• streaming_price()でリアルタイム
処理(売買)
• お金持ちになる
22
23
Enjoy!!

Rでを作る