In [1]:
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt

データを読み込んで見ます

ご自身のPCで読み込む場合はダウンロードして解凍したファイルのパスを指定してください

In [2]:
datacsvpath = 'D:/HistoryData/TradeIsland/merge_data.csv'
namecsvpath = 'D:/HistoryData/TradeIsland/username.csv'
In [3]:
df = pd.read_csv(datacsvpath, index_col='date')
df.head()
Out[3]:
profit_pct profit assets ini_assets stock_n stock_v future_n future_v fx_n fx_v fxop_n fxop_v c365_n c365_v cfd_n cfd_v uid
date
2013-12 78.821 1338924.0 1355911.0 16987.0 0 0.0 0 0.0 168 3.682490e+09 2258 16036000.0 0 0.0 0 0.0 c568d13e580e19bcabbfe955d2942986
2013-12 47.238 4054539.0 4140372.0 85833.0 0 0.0 0 0.0 114 7.628311e+09 899 19193000.0 0 0.0 0 0.0 238aade469452134833599dea605cd3a
2013-12 42.691 117572.0 120326.0 2754.0 0 0.0 0 0.0 520 9.355200e+08 1375 422000.0 0 0.0 0 0.0 3160cd7c6fdf23ca854eaabf31c8b5ea
2013-12 34.287 49716.0 51166.0 1450.0 0 0.0 0 0.0 18 1.712300e+07 198 549000.0 0 0.0 0 0.0 e4e5bbf609f1939c7c485165fcc8d978
2013-12 26.660 133299.0 138299.0 5000.0 0 0.0 0 0.0 0 0.000000e+00 366 908000.0 0 0.0 0 0.0 6e37315e0ba1533db4b9b3ada1824eec

uid列に対応するユーザ名のデータも辞書で読み込みます

もしかしたら、ID名も気になる、という人がいるかもしれないので
ハッシュ値みたいのに対応したユーザ名の辞書もついでに作りました

In [4]:
namedict = pd.read_csv(namecsvpath).set_index('uid')['name'].to_dict()
for k,v in namedict.items()[:10]:
    print k, v
15ee97ffd19bde72d24e987c79d3a8c7 PP部?
c579ca0efb279caf8766f9dd57653c90 SPAD
e53ee3e6e1c66ee1b273f2614479ee7d こそくら
b24612e8d39d2f98b402a5b929d48bf3 goe
01fe7f9f3d30b0da22e176296a3fac37 SIGEZO
1bb4e53d3a07eac97d063c6a7cb2618f GosyuButa
d5e9d9e23447e1907c70ac5d9b29edcc Hide
cc27a6718800ae60559987ca385218d0 モモタ
7deaa3b06f5c447486de56a4cba92045 ふさふさ
1d250ee7406b2340c1b8e24a231f7883 油商人
In [5]:
oku = (lambda x:x[x>=100000000])(df['profit'].groupby(df['uid']).sum()).sort_values(ascending=False)
print 'データ数', len(oku)
oku.plot.bar(figsize=(15,5))
plt.xticks(rotation=270)
for i,v in enumerate(oku.index):
    print '{:2d}位 {:10.0f}円  {}'.format(i+1, oku[v], namedict[v])
データ数 39
 1位  916400454円  BNF
 2位  706840998円  名無しトレーダー
 3位  633003120円  クレイジー甘栗
 4位  608996509円  kh
 5位  604638466円  イワシ
 6位  506708496円  koryamaitta
 7位  399905622円  nonbiri
 8位  342716880円  ater
 9位  261597331円  ホニホニ
10位  256866060円  STF
11位  226930706円  シライ
12位  224816530円  ネコ
13位  216336515円  逆張り天国
14位  197842856円  過去を追うな、未来を願うな
15位  193681120円  spring
16位  176651427円  牛になったぞう
17位  170889439円  akira
18位  168492858円  えいたろう
19位  153473698円  名無しトレーダー
20位  149103652円  赤ボンド
21位  144670870円  ふーがい
22位  144613272円  ミノルタ
23位  143627287円  zzz
24位  138074255円  coredump
25位  133534194円  海坊主
26位  133167448円  hidemori21
27位  131208221円  はみ毛
28位  127919458円  はな
29位  126842119円  柊まいん・偽まいん
30位  126529660円  名無しトレーダー
31位  125749277円  sato
32位  122618999円  ayafile
33位  120010336円  たたまる
34位  118578944円  Akito
35位  116851024円  law+
36位  116511765円  pharetrade
37位  113897906円  名無しトレーダー
38位  105756782円  ぴくみん
39位  100924186円  sungod

ふむふむ、このデータ(2013-12~2016-12)で1億円以上の利益のIDは

39個あるみたいですね(´・ω・`)

In [ ]:
 
In [6]:
q = 'stock_n{0:}{1:}future_n{0:}{1:}fx_n{0:}{1:}fxop_n{0:}{1:}c365_n{0:}{1:}cfd_n{0:}'.format('>0', '|')
print 'ユーザIDの個数', df['uid'].nunique()
print '1度でも取引があるID数', df.query(q)['uid'].nunique()
ユーザIDの個数 18166
1度でも取引があるID数 13316

ID18166個あってトレードがあったIDは13316個なんですね(´・ω・`)

このデータより過去にトレードしたIDか、登録だけしてこの業者では取引はしていないIDってことかもしれませんね

In [ ]:
 
In [7]:
print df['profit'].sum()
df['profit'].groupby(df.index).sum().plot.bar(figsize=(15,5))
2899297086.0
Out[7]:
<matplotlib.axes._subplots.AxesSubplot at 0x10acfeb8>

トレーダーの収支を合計すると30億弱となっていますね
以前集計したときは+側に貢献しているのは主に株式のトレーダーだった記憶があります
株メイン、FXメイン、バイナリメインのトレーダーに分けてから集計してみると
日経やドル円が大きく動いた月の収益の傾向が見えたり
バイナリオプションの人たちはなかなか苦労してそうやのう(´・ω・`)
ってのが見えたりして面白いので興味がある人はpandasの練習がてら集計してみるのも面白いかもしれません
(いやRやexcelなんかでもよいか)

よいお年を(´・ω・`)ノ