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年10月10日土曜日
2015年9月13日日曜日
[R] データフレーム関連メモ
データフレーム関連メモ
・行名・列名(ラベル)の変更
colnames, rownames
ref) 行列やデータフレームの列名・変数名の変更
・テーブルとして表示
rmarkdownで使う場合は、xtable, kable など
xtableで行番号ラベルを消すには、行ラベルを設定すればよい。
HTML用にはhtmlTableも使える
以下のサイトがよくまとまっている
ref) Tables with htmlTable and some alternatives
・行名・列名(ラベル)の変更
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() に以下のエラーが発生
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
□ ビルド
ソースをダウンロードして再ビルドする。
しかし、そのままビルドしたらテストが通らない。。。
原因を探すのが面倒なので、テストスキップでビルド
全体を一度ビルドした後で、messageの定義を変更して再ビルドする。
使用したいバージョンの定義ファイルを編集する。FIX4.4の場合は以下
quickfixj-messages-fix44\src\main\resources\FIX44.modified.xml
このあたりを変更する
・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
このあたりを変更する
前)メッセージだけビルドして終了↓ 後)
2015年5月5日火曜日
[kdb] Q Math Library (qml) (2) 回帰分析
Q Math Library の使い方メモ (2)
□回帰分析
・単回帰分析
y=c+ax の回帰を行う。データをこの式に代入して行列で表現すると、Y=XA となる。
Yはデータ個数の縦ベクトル、Xはデータ個数行・2列の行列、A=(c a) の縦ベクトル
回帰分析の各種情報を取りやすくした関数がcontribのlinreg.qに定義されている
参考: Is there linear regression algorithms written by Q language?
https://groups.google.com/forum/#!searchin/personal-kdbplus/linear$20regression/personal-kdbplus/CRf-kOx-v4I/mqqo49tsvTIJ
・contribからソースを入手
http://code.kx.com/wsvn/code/contrib/azholos/linreg.q
□回帰分析
・単回帰分析
y=c+ax の回帰を行う。データをこの式に代入して行列で表現すると、Y=XA となる。
Yはデータ個数の縦ベクトル、Xはデータ個数行・2列の行列、A=(c a) の縦ベクトル
/ .qml.mlsq[X;Y] / 公式には.qml.mlsq[A;B] q)show X: flip (10#1;til 10) / 0-9で、1列目は固定で1 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 q)show Y: (10?10) + 2*til 10 / 切片5、傾き2 8 3 13 11 12 16 18 15 24 23 q).qml.mlsq[X;Y] / 1つめが切片, 2つめが傾き 4.654545 1.921212
回帰分析の各種情報を取りやすくした関数がcontribのlinreg.qに定義されている
参考: Is there linear regression algorithms written by Q language?
https://groups.google.com/forum/#!searchin/personal-kdbplus/linear$20regression/personal-kdbplus/CRf-kOx-v4I/mqqo49tsvTIJ
・contribからソースを入手
http://code.kx.com/wsvn/code/contrib/azholos/linreg.q
/ 単回帰分析
q)show X: (1;til 10) / flipせずに単純に係数を並べてOK
1
0 1 2 3 4 5 6 7 8 9
q)show Y: (10?10) + 2*til 10 / Yは上と同じ
5 8 8 7 11 13 19 22 18 19
q) linreg[Y;X]
| ::
X | (1 0f;1 1f;1 2f;1 3f;1 4f;1 5f;1 6f;1 7f;1 8f;1 9f)
y | 1 6 7 15 16 19 21 19 20 18f
S | (4.473113 -0.706281;-0.706281 0.1569513)
b | 5.145455 2.012121
e | -4.145455 -1.157576 -2.169697 3.818182 2.806061 3.793939 3.781818 -0.230303 -1.242424 -5.254545
n | 10
m | 2
df | 8
se | 2.114974 0.3961708
tstat| 2.432869 5.078923
tpval| 0.04101822 0.0009544019
rss | 103.5879
tss | 437.6
r2 | 0.7632818
r2adj| 0.733692
fstat| 25.79546
fpval| 0.0009544019
登録:
投稿 (Atom)