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

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

SQL

BitFlyerの現物とFXの差額について

BitFlyerのbitcoin価格に現物とFXで乖離があるのはたぶん皆さんご存知だと思います。 感覚では大体いつも1万円前後乖離しているんじゃないかなーと思ってました。 少しデータもたまって来たので簡単にクエリ書いて視覚化してみました。 SELECT convert(nvar…

ビットコイン(BTC/JPY)の時間帯別値幅を出してみた

tos5511.hatenablog.com 以前投稿した記事と似た内容です。 ビットコインには時間帯による癖があるのか調査してみました。 ちょっと手持ちのサンプルが少ないんで統計値とはまだ呼べないかもですが。 select TB_A.tradedate ,MAX(case when TB_A.時間='00' t…

SQLiteをやめてSQLServerにプライスを格納することにしたので・・

個人用メモ実装が楽だしDBの引越しも超楽だからってことで 仮想通貨のプライスを格納するDBにSQLiteを採用していたのだが、 SQLiteのマネージャーツールで良いものがない。 MS様のツールでしかプログラムを書けない私は (コードスニペットや諸々親切な機能…

ビットコインのトライアングルアービについて検証してみた

始まりはこれだった。 BTCUSD×USDJPY 円価は271,029 そしてBTCJPYのレートは274,316 差額は3,287円これを見て、BTCJPY売り,BTCUSD買い,USD/JPY売りで トライアングルアービを実施すればぼろ儲けやん。 ふざけた数字表示しやがって。 ここからは実際の検証結…

2000年以降の時間毎の値幅

SQL

大したことやってないんですけど、無性に表題の件が気になったので 数値がどうなっているのか改めて視覚化したいと思い、 MT4から1時間足をSQLServerにインポートして以下クエリで出力してみました。case whenの箇所が力技みたいで気持ち悪いですが、 今回の…

プロはselect句で処理する - SQL Tips

当初の予定からだいぶスタートが遅れているけど、 平常運用できそうなシストレ概要が出来上がりつつある。 ※適当に雇用統計で試しただけのもの。根詰めればたぶんすぐにGoLiveできるんだろうけど、なんだろうな。 昔ほどのやる気がないのか、社畜から離脱す…

日銀金融政策決定会合発表時のティック数

SQL

0時を超えてしまった為、昨日の話となってしまいますが 日銀発表時5秒間の通貨別ティック数です。 さすがにドル円が今回は1位ですね、 SELECT [通貨ペア] ,count(通貨ペア)ティック数 ,AVG([SP])平均SP FROM [Fixテーブル] where [日時] between'2016-04-28 …

Transact-SQL ストアドプロシージャの作成と実行

SQL

ストアド プロシージャの作成方法 CREATE PROCEDURE ストアドプロシージャ名 AS 任意の Transact-SQL ステートメント ストアド プロシージャの実行方法 EXEC ストアドプロシージャ名 プログラムからクエリを投げる場合、ストアドプロシージャで指定したほうが…

SQL 通貨毎に最新のティックを取得する

SQL

最新のティックを使いたいと思ったが、思いのほか工夫が必要だったのでメモ。ただ拾い方としては効率が悪い気もしていて、もう少し高速な方法は考えたいところ。 select [通貨ペア],[Bid],[日時] from (select *, row_number() over(partition by [通貨ペア]…

トランザクションログファイル(ldf)を圧縮してみた

SQL

毎日28通貨分の全Tick情報をローカルDBに格納しています。 約1週間たって、どのくらいのサイズになったか確認してみたところ・・ ldfとかいう拡張子のファイルがmdf本体よりもデカいんですね。 なんじゃこりゃとwちょっと容量食い過ぎなんで、調べてみたら…

24時間前のテーブルデータをアーカイブする

SQL

OANDAからFixで取得しているTickデータですが 28通貨の1週間分で約1,000万レコードです。最初は1週間毎に過去Tickをアーカイブしていこうかと思っていましたが これでは週後半、テーブルが肥大してきた状況下では シグナル発信用アプリの動作が遅延しそうで…

自習書とかいう良本

Transact-SQLについて勉強しようかと思ってAmazonで書籍みてたんですけど、 こんな感じに2000年とか2008年の古い書籍しかなくて、ろくに知識もないくせに 新しい技術ちゃんと解説入ってんのかよーとかおもって敬遠していた訳ですが。 なんと、調べていたらMi…

SQL 別PCからDBにアクセスする

SQL

SQLServerをインストールすると初期状態ではネットワーク制限された状態で インストールされます。このままでは使い勝手が悪いのでネットワーク内で 共有できるよう設定しました。結論から言うと、下記URLの手順通りで何も難しい事はありませんでした。 レッ…

クリック証券 新FXネオのスプレッド調査4(イースター編)

金曜日はイースター休暇で各業者のスプレッドは拡大しやすい状況だった。 実際にクリック証券ではどうだったのか。 クリック証券が提供しているヒストリカルデータを元に算出してみる。 ※1分足ベースの為、誤差はあるかと。 select SPTable.通貨名,SPTable.…

SQL 時間を変更する

SQL

SQLServerで時間を編集する方法元のデータ update テーブル set 列 = dateadd(hour,9,列) 変更後 日付も変更されていますね。 なぜこんな事を記事にしているかというとOANDAから取り込んでいるTickデータ、初期の頃は日本時間に変換してなかったんですよね笑…

ベルギーテロで一番反応した通貨ペアは

テロで犠牲になった方も多くいる中でこのような計算をするのは 不謹慎だと感じる方もいるかも知れません。しかし、このような時マーケットはどう動くのか。 後の為にデータを残します。データはoandaからFIXでMarket Data-Incremental Refreshで取得していま…

コード修正

SQL

tos5511.hatenablog.com この記事で書いた冗長なコード。 declare @日時 varchar(20) set @日時 = '201603' select SPTable.通貨名,SPTable.時間,AVG(SPTable.SP) from ( select 通貨名 ,([終値(ASK)]-[終値(BID)]) as SP ,case when convert(varchar(8),[日…

クリック証券 新FXネオのスプレッド調査3(ヒストリカルデータベース)

tos5511.hatenablog.com tos5511.hatenablog.comシリーズ3作目です笑今度はクリック証券、3月のドル円の時間帯別の平均SPを出してみました。 シリーズ2での検証結果が正しいことが証明できるか・・書いたコードは以下、ドル円とドル円EXモードの時間帯毎…

クリック証券 新FXネオのスプレッド調査2(ヒストリカルデータベース)

tos5511.hatenablog.com前回に続き、もう少しクリック証券のヒストリカルデータで遊んで見ましょう。クリック証券のドル円の通常モードとEXモードについて スプレッド拡大の傾向を調査してみました。(3月分) declare @日時 varchar(20) set @日時 = '201603…

クリック証券 新FXネオのスプレッド調査(ヒストリカルデータベース)

tos5511.hatenablog.com これでとりあえずは作業が多少効率的になったので、 クリック証券の新FXネオのヒストリカルデータを全通貨分取り込みました。 以下は1/18~3/19までの期間中、クリック証券の最小スプレッドと最大スプレッドです。 SELECT [通貨名] ,…

クリック証券のヒストリカルデータをSQLServerに取り込む

SQL

過去に似た事やってるんですが、後日わかりやすいように手順化しておきます。まずはクリック証券のヒストリカルデータは営業日毎の為、 これを個々importするのは非常にめんどくさい。 そして通貨名がついてないのでカラムを追加してやる必要がある。 ここは…

SQLServerでテーブルカラムの属性を変更する。

SQL

SQLServerでテーブルを作成した後、カラムの型を変更したい場合、 画面上で変更しようとすると上記のように怒られる。こんな時はALTERコマンドで属性変更できる ALTER TABLE [ClickNeoPrice].[dbo].[ClickNeoPrice] ALTER COLUMN 日時 datetime2(7) NOT NULL…

SQLServer2014Express ダウンロード&インストール手順

SQL

色々環境構築失敗して、インストールしなおす事にしたので ついでに手順をアップしてみる。Download Microsoft® SQL Server® 2014 Express from Official Microsoft Download Center 今回インストールするのはSQLServer2014Express 「ExpressAndTools 64BIT\…

OANDA FIXAPI接続とDB連携

tos5511.hatenablog.comこの後、何もしてなかった訳じゃなく コツコツ作業を続けてました。tos5511.hatenablog.com 元々、上記のような手法でFX業者のHPからレートを取得することは可能でしたが マナー的な問題や通貨ペア数の数の問題もあり、OANDAから正式…

日本語変数・メソッドって意外と有り?

プログラミングしていて、特に私のような趣味プログラマーなんかは 俗に言う「3か月後の自分は他人」なんて状態になるのが多いのではないだろうか。 それを回避する為に少し複雑な処理には細かくコメント入れたりして ただそれも変数やメソッド名の命名ルー…

SQL テーブルの作成(CREATE TABLE)

SQL

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ) より テーブル作成(基本形) CREATE TABLE テーブル名( 列名1 列1の型名, 列名2 列2の型名, 列名3 列3の型名, : 列名X 列Xの型名 ) 家計簿テーブルの作成 CREATE TABLE 家計簿 ( 日付 DATE, …

SQL サブクエリ結果と結合

SQL

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ) より家計簿テーブル 費目テーブル SELECT 日付, 費目.名前, 費目.経費区分ID FROM 家計簿 -- 家計簿テーブルに対して… JOIN ( SELECT * FROM 費目 WHERE 経費区分ID = 1 ) AS 費目 -- 副問い合…

SQL テーブルの結合

SQL

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ) より 家計簿テーブル 費目 JOINで家計簿テーブルに費目テーブルが結合される SELECT 日付, 名前 AS 費目, メモ FROM 家計簿 JOIN 費目 -- 結合する他の表を指定 ON 家計簿.費目ID = 費目.ID --…

SQL サブクエリ(FROM句で使う)

SQL

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ) よりサブクエリの結果をSUBと名付け、結果を1つのテーブルとして扱う。 SELECT SUM(SUB.出金額) AS 出金額合計 FROM (SELECT 日付, 費目, 出金額 FROM 家計簿 UNION SELECT 日付, 費目, 出金額…

SQL サブクエリ (SET句)

SQL

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ) より UPDATE 家計簿集計 SET 平均 = (SELECT AVG(出金額) FROM 家計簿アーカイブ WHERE 出金額 > 0 AND 費目 = '食費') WHERE 費目 = '食費' 実行結果