読者です 読者をやめる 読者になる 読者になる

自宅のPCからAmazon EC2のWindows ServerインスタンスにPSRemotingする方法

AMIのWindows Server 2016 Baseイメージから作成した場合には、デフォルトでWinRM/PSRemotingが有効になっている(TODO: verify)。

EC2側で5985番ポートを開ける。

http://stackoverflow.com/a/13284313/6583019

初回のみ以下を自宅のPC上で実行する。

set-item WSMan:\localhost\Client\TrustedHosts -Value * -Force
set-item WSMan:\localhost\Shell\MaxMemoryPerShellMB -Value 0 -Force
Enable-PSRemoting
Set-ExecutionPolicy unrestricted

つなぐには、

$cred = Get-Credential
Enter-PSSession (EC2インスタンスのIPv4アドレス) -Credential $cred

「Option Market Making」を読んだ

Option Market Making: Trading and Risk Analysis for the Financial and Commodity Option Markets (Wiley Finance)

Option Market Making: Trading and Risk Analysis for the Financial and Commodity Option Markets (Wiley Finance)

また非常に古い本(93年刊)。結構オプションに特有の話が多いので、すぐに僕の役に立つことはなさそう。あとオプションについて全然理解していないのでついていけない…

それと、時代が時代なので立会所が大前提です。昔のトレーダー、数学のPhDとか持っててしかも大柄屈強みたいなガチ怖い人達ですね………


いい本らしいのでそのうちちゃんと読みたい。

「情報検索と言語処理 」を読んだ

情報検索と言語処理 (言語と計算)

情報検索と言語処理 (言語と計算)

結構古い本(99年刊)。「はじめに」で、「AltaVistaやExciteなどの検索エンジンをみなさんも使った事があるでしょう」と言われてずっこけた。
序盤でTF-IDFについては分かったけど、それ以降は検索エンジンに相当興味がないときつそうだし、それにしてももう少し新しい本を読んだほうがよさそう。なのでちゃんと読んでませんすみません。


追記(2017/2/17):

id:kento1218さんにコメント欄でより新しい本を教えてもらった。(大変ありがとうございます!)

IRだとIntroduction to Information Retrieval自然言語処理だと

自然言語処理の基礎

自然言語処理の基礎

あたりが良いそう。

NLTK Book(入門 自然言語処理)を読んだ

NLTK Book

Python による日本語自然言語処理


和訳本はこれ。(ただし原文のほうを読んだ。原文のほうはPython3対応。)

入門 自然言語処理

入門 自然言語処理

自然言語処理について基本的なことを知っておきたくて読んだ、が少々くどい本だと感じた。

というのも、学部の一般教養の授業などで、プログラミングの基礎の無い人にプログラミングと自然言語処理の両方に触れてもらうという目的で書かれた本だからである。したがって悪く言うことはできない。

知らない話も多かったが知っている話も多かった…


TFIDFとかについて知りたかったのだけどこっちとか読んだほうがよかったかも(未読)
(NLTK BookにはTFIDFは出てきません…)


情報検索と言語処理 (言語と計算)

情報検索と言語処理 (言語と計算)

言語処理のための機械学習入門 (自然言語処理シリーズ)

言語処理のための機械学習入門 (自然言語処理シリーズ)

「市場と取引」(Trading and Exchanges)を読んだ

市場と取引―実務家のためのマーケット・マイクロストラクチャー〈上〉

市場と取引―実務家のためのマーケット・マイクロストラクチャー〈上〉

市場と取引―実務家のためのマーケット・マイクロストラクチャー〈下〉

市場と取引―実務家のためのマーケット・マイクロストラクチャー〈下〉


Trading and Exchangesの和訳本。マーケットマイクロストラクチャと呼ばれる分野の入門書。

非常に面白く書かれており、また非常に読みやすいので、かなりおすすめ。良いかは別として、極力数式を減らすよう心がけているようだ。

欄外コラムなど含め、クルーグマンのミクロ・マクロ本的な面白さがある(もしかしたら相当意識しているかもしれない)。

金融商品の取引をターゲットとした本だが、広い知見が得られるような内容であるため、経済全般に興味があるという人でも楽しめるのではないかと思う。

また、学術書の中では比較的和訳のクオリティが高く、誤植が非常に少ない点もよかった。(Amazon今見たら訳がこなれていないとかレビュー書いてる奴がいてげんなりしたが)

相対的にマイナー本な理由がよくわからない。

Trading and Exchangesのpdfは相当間引かれた物であるため原著か和訳版を買って読まれることをおすすめする。

pandasででかいテーブルをMySQLからHDF5に落としこむ

pd.read_sqlしてto_hdfしたい所だが、メモリ上にのりきらないようなサイズだと動かない。

pd.read_sqlにはchunksizeという便利なものがあり、この引数を指定するとchunkに切られたDataFrameのiteratorを返してくれるので、どうにかなりそうに見えるが、read_sqlのソースを読むと、SQLのクエリは依然一度にexecuteされるのでSELECT *した結果が全部メモリに乗らないようなサイズだとchunksizeを使っても依然どうにもならない。

そこでちゃんとSQLクエリでLIMITとOFFSETを使って少しずつとってくる。

import pandas as pd

engine = 'mysql://(mysql host)/(your database)'

def convert():
    limit = 50000
    offset = 0
    while True:
        print('offset: %d' % offset)
        df = pd.read_sql_query('SELECT * FROM ticks LIMIT %d OFFSET %d' % (limit, offset), engine)
        df = df.set_index('id')
        if len(df) < limit:
            break
        offset += limit
        yield df
    yield df

store = pd.HDFStore('ticks.h5', complib='zlib')
key = 'ticks'

first_time = True

for chunk in convert():
    if first_time:
        store.put(key, chunk, format='table')
    else:
        store.append(key, chunk)
    first_time = False

store.close()