プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

SQLServer timeレコードを任意の間隔で生成する

ちょっとした流動性調査で、数百ms毎のdepth調査をする為、
基準となるtimeレコードがほしかったので生成するqueryを書いた。

--一時テーブルが存在する場合は削除する。
IF OBJECT_ID(N'tempdb..#tempTable', N'U') IS NOT NULL
DROP TABLE #tempTable;

--一時テーブルを作成する。
CREATE TABLE #tempTable (
	ticktime time(3)
)

DECLARE @ticktime time(3)
set @ticktime = '21:25:00.000'

WHILE @ticktime <= '21:26:00.000'
	begin
		insert into #tempTable VALUES (@ticktime)
		set @ticktime = dateadd(SECOND,10,@ticktime)
	END
select * from #tempTable

f:id:tos5511:20180407134959p:plain

あとはこの時間テーブルに実際のpriceデータをjoinさせて色々やるだけ

ボツ

tos5511.hatenablog.com

ある程度データがとれたのでバックテストしてみたところ、見事な結果が出た。
f:id:tos5511:20180321083129p:plain

この戦略、ネタ晴らしするとドル円の存在を無視した2wayarb的な発想で、
BTCJPYとBTCUSD×USDJPYの差額が閾値を超えたらBTCJPY売り、BTCUSD買い
ある程度、鞘が埋まったらクローズというシンプルなもの。
BTCのボラを考えたらドル円の変動など無視していいんじゃね?
と思い国内でBTCJPYとBTCUSDを取り扱っているQuoineで集計を始めたのが前回の記事。
しかし、センスないなぁ。。またアビトラに工数を費やしてしまったw

それに、こんな問題も。
f:id:tos5511:20180321084338p:plain
こんな髭がよく発生します。
仮に50万クラスの髭でも発生したらレバ掛けてたらマイナス突入間違いなしですし、
その場合Quoineの取引ルールにも明記されてますが、支払い義務があります。
国内FX業者のように誤ティック判定となることも期待し難い。z〇ifとかの対応みてるとね。。

相場状況が急変した場合その他理由がある場合には、最終決済価格がロスカット執行
時点の価格から大きく乖離して約定することがあり、お客様が当社に預託された金額
を超える損失が生じる可能性もあります。なお、その場合、お客様は、発生した不足額
を当社へ速やかに入金することを異議なく承諾するもの
とします。

ということでやっぱりボツですね。

ちょっと路線変更だけど

f:id:tos5511:20180313232918p:plain
いけると確信した。
週末に発注箇所を実装して来週から実弾でFTだな。
なんのグラフだかピンと来ちゃった方は・・子供を見守るような温かい目で見て頂ければw

結果は報告します。