2016年9月7日水曜日

[kdb] Tools

Tool関連メモ

[Editor]
・IntelliJ / Notepad++ のSyntax
http://www.timestored.com/kdb-guides/developer-environment#notepad

2015年10月10日土曜日

[Excel] Excel 関連メモ

Excel 関連メモ

□ VBA関連

VBAがわかりやすく解説してあって非常によい
 ・昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ
 http://qiita.com/opengl-8080/items/5bd8ae7fe95f5c31dfc3

開発環境 Code Explorer, To-do Items, Test Explorer, Code Inspections, Refactorings, Github
 ・紹介しているページ
 https://github.com/retailcoder/Rubberduck/wiki/Features


□ Excelメニュー関連

クイックアクセスツールバーの紹介
 (未定)






2015年9月13日日曜日

[R] データフレーム関連メモ

データフレーム関連メモ

・行名・列名(ラベル)の変更
colnames, rownames
ref) 行列やデータフレームの列名・変数名の変更

・テーブルとして表示
rmarkdownで使う場合は、xtable, kable など
xtableで行番号ラベルを消すには、行ラベルを設定すればよい。
HTML用にはhtmlTableも使える
以下のサイトがよくまとまっている
ref) Tables with htmlTable and some alternatives

2015年8月31日月曜日

[R] ファイナンス関連計算メモ


・対数収益率
diff(log(x))
diff(log(c(100,101,102,103)))
 0.009950331 0.009852296 0.009756175

# データフレームにreturn列を追加 (行数が減るので、先頭に0を追加する)
> head(returns)
        date close
1 2004-05-19 10967
2 2004-05-20 10862
3 2004-05-21 11070
> returns$return <- c(0, diff(log(returns$close)))
        date close       return
1 2004-05-19 10967  0.000000000
2 2004-05-20 10862 -0.009620304
3 2004-05-21 11070  0.018968287

2015年5月15日金曜日

[Java] QuickFIX/J 1.6.0 (2) リリース

QuickFIX/J 1.6.0 がリリースされたようなので試してみた

QFJ 1.6.0 release notes

□ ダウンロードと実行(java version "1.8.0_45")
ビルド済みのバイナリファイルをダウンロード
quickfixj-core-1.6.0.jar
quickfixj-messages-fixXX-1.6.0.jar (必要なバージョン、allなら全部込み)
をパスに指定する。

実行したところ、NewOrderSingleのインスタンス作成時 new NewOrderSingle() に以下のエラーが発生

java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    quickfix/fix44/NewOrderSingle.get(Lquickfix/field/SettlType;)Lquickfix/field/SettlType; @2: invokevirtual
  Reason:
    Type 'quickfix/field/SettlType' (current frame, stack[1]) is not assignable to 'quickfix/CharField'
  Current Frame:
    bci: @2
    flags: { }
    locals: { 'quickfix/fix44/NewOrderSingle', 'quickfix/field/SettlType' }
    stack: { 'quickfix/fix44/NewOrderSingle', 'quickfix/field/SettlType' }
  Bytecode:
    0x0000000: 2a2b b600 3057 2bb0   

SettlType はFIXのバージョンによってQFIX/Jのフィールド種別が異なっているようだ。
FIX4.4ではCharField、FIX5.0ではStringFieldで定義されている。
デフォルトでは、coreに定義されているSettlTypeはStringFieldを拡張している。

VerifyErrorはJDK7以降でclassファイルの検証方式が変更になったことによるものらしい。
既存プロジェクトをJDK8へ移行したら、java.lang.VerifyErrorが出た

とりあえずの解決法はフィールドのそろえればよい。↓のQAにも同様の回答があった。
[Quickfixj-users] Using multiple versions of FIX with Quickfix


□ ビルド
ソースをダウンロードして再ビルドする。
しかし、そのままビルドしたらテストが通らない。。。

原因を探すのが面倒なので、テストスキップでビルド
mvn install -DskipTests=true

全体を一度ビルドした後で、messageの定義を変更して再ビルドする。
使用したいバージョンの定義ファイルを編集する。FIX4.4の場合は以下
quickfixj-messages-fix44\src\main\resources\FIX44.modified.xml
このあたりを変更する
前)   
    ↓
後)  
メッセージだけビルドして終了