callmekohei's blog

callmekoheiのひとりごと

トレードに役に立つかもしれないチャートを作成してみたった

Summary

ポンドの実効為替レートと対円相場のチャートを

Monthly, Dailyで作成した

こんな感じ

Monthly

f:id:callmekohei00:20170820174630p:plain

Daily

f:id:callmekohei00:20170820174647p:plain

JPY plus

f:id:callmekohei00:20170820225824p:plain

上昇・下降の値動き

f:id:callmekohei00:20170820225922p:plain

作成方法

必要なもの

  • 実効為替レート

Bank of England Statistical Interactive Database | Interest & Exchange Rates

Effective exchange rates > Daily もしくは Effective exchange rates > End month を選んで Show dataGo to output inHTMLを選ぶとデーターが出力される

  • 過去のプライス

OANDA APIで取得する

code

#r "./packages/FSharp.Data/lib/net40/FSharp.Data.dll"
open FSharp.Data

#load "../OANDAfs/oandafs.fsx"
open callmekohei
open callmekohei.Oandafs
let env   = Environment.Live
let id    = "xxxx"
let token = "xxxx"
let info  = API().Init( env, id, token )

let currency = "GBP_JPY"

let response = Oandafs.Rates(info).Get_History [("instrument",currency)
                                       ;("count","5000")
                                       ;("candleFormat","midpoint")
                                       ; granularity.D
                                       ; dailyAlignment.H9
                                       ; alignmentTimezone.Japan
                                       ]

let jsonValue = FSharp.Data.JsonValue.Parse response
let candles = jsonValue.GetProperty "candles"
let closePrice = candles.AsArray() |> Array.map ( fun jv -> jv.GetProperty("closeMid").AsFloat())  |> Array.toList
let time = candles.AsArray() |> Array.map ( fun jv -> jv.GetProperty("time").AsString() ) |> Array.toList

(time,closePrice)
||> List.map2( fun a b -> (System.DateTime.Parse(a).ToUniversalTime(),b))
|> List.iter ( fun (a,b) -> printfn "%s %A" (a.ToString("dd-MMM-yy")) b )

// (time,closePrice)
// |> List.iter stdout.WriteLine

ひっかかりポイント

DailyのデーターがBOEOANDAで日付が一致しない箇所がある

(対策) エクセルのvlookup関数で一致させる

このチャートでわかること

現在2つのレートに乖離はみられない

callmekoheiの勝手な妄想

f:id:callmekohei00:20170820183152p:plain

index75 を割り込むとさらに下落する可能性があるが反発するポイントでもある

つまり

125円程度まで下落してそこから反発してあげる?