import pandas as pd
import redis
import pickle
r=redis.Redis(port=6666)
#r=redis.Redis()
i=0
f={}
for st in r.lrange("strat_list",0,100):
try:
#if st != 'MACROSS_2_20':
s=pd.DataFrame([pickle.loads(i)
for i in r.lrange('%s:positions'%st,0,100000)])
s.reset_index()
s.index=s.date
s=s.sort_index()
s=s[s.status=="filled"]#.fillna(0)
s.pnl.fillna(0,inplace=True)
s.side.fillna(method='ffill',inplace=True)
f[st]=(s.pnl).cumsum()
print
print "profit/loss", st,((s[s.status=="filled"].pnl)).sum()#.abs()
except Exception, e :
print st, e
pass#print e# '%s : P/L:%f PnL:%f %d transactions'%(st,0,0,0)
profit/loss CCI 0.364493427108
profit/loss Volume_inbal 0.0311087466221
profit/loss VHMM_21_205 0.0892311999016
profit/loss VHMM_21_124 0.0269838540813
profit/loss VHMM_50_208 0.0777806134005
profit/loss MACROSS_2_20 0.247519265629
profit/loss MACROSS_21_15 0.0230190248993
for k in f.keys():
#if k != 'MACROSS_2_20':
f[k].plot(figsize=(15,8))
legend( f.keys(), "best")
<matplotlib.legend.Legend at 0x118459210>

st="Volume_inbal"
s=pd.DataFrame([pickle.loads(i)
for i in r.lrange('%s:positions'%st,0,100000)])
s.reset_index()
s.index=s.date
s=s.sort_index()
%qtconsole
s[(s.status=='filled') & (s.index.duplicated() == True)]
|
date |
exit |
fill_time |
order_type |
pnl |
price |
side |
status |
date |
|
|
|
|
|
|
|
|
2015-01-20 19:11:00 |
2015-01-20 19:11:00 |
0 |
2015-01-20 19:26:00 |
limit |
-0.000970 |
1298.50 |
1 |
filled |
2015-01-20 19:48:00 |
2015-01-20 19:48:00 |
0 |
2015-01-21 02:06:00 |
limit |
0.000000 |
1301.82 |
0 |
filled |
2015-01-20 21:31:00 |
2015-01-20 21:31:00 |
0 |
2015-01-20 21:32:00 |
limit |
0.000000 |
1298.63 |
1 |
filled |
2015-01-20 21:39:00 |
2015-01-20 21:39:00 |
0 |
2015-01-20 21:40:00 |
limit |
0.002974 |
1291.10 |
1 |
filled |
2015-01-20 22:13:00 |
2015-01-20 22:13:00 |
0 |
2015-01-20 22:15:00 |
limit |
-0.000000 |
1286.29 |
0 |
filled |
2015-01-20 22:19:00 |
2015-01-20 22:19:00 |
0 |
2015-01-20 22:22:00 |
limit |
0.000000 |
1289.50 |
0 |
filled |
2015-01-20 22:29:00 |
2015-01-20 22:29:00 |
0 |
2015-01-20 22:30:00 |
limit |
0.000000 |
1289.60 |
1 |
filled |
2015-01-20 22:31:00 |
2015-01-20 22:31:00 |
0 |
2015-01-20 22:34:00 |
limit |
0.000000 |
1289.29 |
0 |
filled |
2015-01-20 22:41:00 |
2015-01-20 22:41:00 |
0 |
2015-01-20 22:43:00 |
limit |
0.000016 |
1288.32 |
1 |
filled |
2015-01-20 22:49:00 |
2015-01-20 22:49:00 |
0 |
2015-01-20 22:50:00 |
limit |
0.000536 |
1286.90 |
1 |
filled |
2015-01-20 23:03:00 |
2015-01-20 23:03:00 |
0 |
2015-01-20 23:04:00 |
limit |
0.000000 |
1292.69 |
0 |
filled |
2015-01-20 23:08:00 |
2015-01-20 23:08:00 |
0 |
2015-01-20 23:09:00 |
limit |
0.000000 |
1294.60 |
0 |
filled |
2015-01-20 23:09:00 |
2015-01-20 23:09:00 |
0 |
2015-01-20 23:11:00 |
limit |
0.000000 |
1295.14 |
0 |
filled |
2015-01-20 23:24:00 |
2015-01-20 23:24:00 |
0 |
2015-01-20 23:30:00 |
limit |
0.000000 |
1292.00 |
0 |
filled |
2015-01-20 23:33:00 |
2015-01-20 23:33:00 |
0 |
2015-01-20 23:34:00 |
limit |
-0.000000 |
1292.98 |
0 |
filled |
2015-01-20 23:33:00 |
2015-01-20 23:33:00 |
0 |
2015-01-20 23:35:00 |
limit |
-0.000008 |
1292.01 |
1 |
filled |
2015-01-20 23:37:00 |
2015-01-20 23:37:00 |
0 |
2015-01-20 23:39:00 |
limit |
0.000000 |
1292.14 |
0 |
filled |
2015-01-20 23:39:00 |
2015-01-20 23:39:00 |
0 |
2015-01-20 23:40:00 |
limit |
0.000000 |
1292.31 |
0 |
filled |
2015-01-20 23:57:00 |
2015-01-20 23:57:00 |
0 |
2015-01-20 23:58:00 |
limit |
0.000000 |
1292.36 |
0 |
filled |
2015-01-20 23:57:00 |
2015-01-20 23:57:00 |
0 |
2015-01-21 00:39:00 |
limit |
0.000333 |
1292.02 |
1 |
filled |
2015-01-21 00:00:00 |
2015-01-21 00:00:00 |
0 |
2015-01-21 00:01:00 |
limit |
-0.000193 |
1293.91 |
1 |
filled |
2015-01-21 00:01:00 |
2015-01-21 00:01:00 |
0 |
2015-01-21 00:02:00 |
limit |
-0.000000 |
1294.76 |
0 |
filled |
2015-01-21 00:12:00 |
2015-01-21 00:12:00 |
0 |
2015-01-21 00:13:00 |
limit |
0.000000 |
1294.85 |
1 |
filled |
2015-01-21 00:26:00 |
2015-01-21 00:26:00 |
0 |
2015-01-21 00:28:00 |
limit |
-0.000000 |
1294.99 |
0 |
filled |
2015-01-21 00:29:00 |
2015-01-21 00:29:00 |
0 |
2015-01-21 00:30:00 |
limit |
0.000000 |
1295.00 |
0 |
filled |
2015-01-21 00:30:00 |
2015-01-21 00:30:00 |
0 |
2015-01-21 00:31:00 |
limit |
0.000000 |
1295.00 |
0 |
filled |
2015-01-21 00:40:00 |
2015-01-21 00:40:00 |
0 |
2015-01-21 00:41:00 |
limit |
0.000000 |
1292.80 |
0 |
filled |
2015-01-21 00:41:00 |
2015-01-21 00:41:00 |
0 |
2015-01-21 00:43:00 |
limit |
0.000000 |
1293.14 |
0 |
filled |
2015-01-21 00:45:00 |
2015-01-21 00:45:00 |
0 |
2015-01-21 00:46:00 |
limit |
0.000000 |
1293.91 |
0 |
filled |
2015-01-21 00:50:00 |
2015-01-21 00:50:00 |
0 |
2015-01-21 01:01:00 |
limit |
-0.003326 |
1293.00 |
1 |
filled |
2015-01-21 00:53:00 |
2015-01-21 00:53:00 |
0 |
2015-01-21 00:54:00 |
limit |
0.000000 |
1293.48 |
1 |
filled |
2015-01-21 00:56:00 |
2015-01-21 00:56:00 |
0 |
2015-01-21 00:58:00 |
limit |
0.000054 |
1293.27 |
1 |
filled |
2015-01-21 01:08:00 |
2015-01-21 01:08:00 |
0 |
2015-01-21 01:09:00 |
limit |
0.000000 |
1290.00 |
0 |
filled |
2015-01-21 01:10:00 |
2015-01-21 01:10:00 |
0 |
2015-01-21 01:32:00 |
limit |
0.000000 |
1290.00 |
1 |
filled |
2015-01-21 01:13:00 |
2015-01-21 01:13:00 |
0 |
2015-01-21 01:14:00 |
limit |
0.000000 |
1291.92 |
0 |
filled |
2015-01-21 01:30:00 |
2015-01-21 01:30:00 |
0 |
2015-01-21 01:33:00 |
limit |
-0.000000 |
1293.24 |
0 |
filled |
2015-01-21 01:35:00 |
2015-01-21 01:35:00 |
0 |
2015-01-21 01:37:00 |
limit |
0.000874 |
1292.25 |
1 |
filled |
2015-01-21 02:05:00 |
2015-01-21 02:05:00 |
0 |
2015-01-21 02:08:00 |
limit |
0.003692 |
1300.20 |
1 |
filled |
2015-01-21 02:13:00 |
2015-01-21 02:13:00 |
0 |
2015-01-21 02:23:00 |
limit |
0.000000 |
1309.90 |
1 |
filled |
2015-01-21 02:30:00 |
2015-01-21 02:30:00 |
0 |
2015-01-21 02:31:00 |
limit |
-0.000000 |
1304.00 |
0 |
filled |
2015-01-21 02:31:00 |
2015-01-21 02:31:00 |
0 |
2015-01-21 02:33:00 |
limit |
0.000000 |
1303.78 |
0 |
filled |
2015-01-21 02:35:00 |
2015-01-21 02:35:00 |
0 |
2015-01-21 02:37:00 |
limit |
0.000038 |
1300.63 |
1 |
filled |
2015-01-21 02:48:00 |
2015-01-21 02:48:00 |
0 |
2015-01-21 02:58:00 |
limit |
0.000000 |
1301.00 |
1 |
filled |
2015-01-21 03:02:00 |
2015-01-21 03:02:00 |
0 |
2015-01-21 03:10:00 |
limit |
0.000000 |
1298.68 |
0 |
filled |
2015-01-21 03:06:00 |
2015-01-21 03:06:00 |
0 |
2015-01-21 03:07:00 |
limit |
-0.000363 |
1295.59 |
1 |
filled |
2015-01-21 03:18:00 |
2015-01-21 03:18:00 |
0 |
2015-01-21 03:19:00 |
limit |
0.000000 |
1300.00 |
0 |
filled |
name='VHMM_50_208'
zz=pickle.loads(r.get('strategy:%s'%name))
zz[zz.signal.diff()!=0]
|
signal |
price |
returns |
2015-01-21 19:21:00 |
0 |
1324.20 |
NaN |
2015-01-21 23:25:00 |
1 |
1396.86 |
-0.000136 |
2015-01-22 00:14:00 |
0 |
1403.35 |
-0.000783 |
ww.pnl.fillna(0,inplace=True)
ww.pnl.cumsum().plot()
<matplotlib.axes.AxesSubplot at 0x109de1c50>

s[s.index.duplicated()==True]
|
date |
exit |
fill_time |
order_type |
pnl |
price |
side |
status |
date |
|
|
|
|
|
|
|
|
2015-01-20 19:11:00 |
2015-01-20 19:11:00 |
0 |
2015-01-20 19:26:00 |
limit |
-0.000970 |
1298.50 |
1 |
filled |
2015-01-20 19:48:00 |
2015-01-20 19:48:00 |
0 |
2015-01-21 02:06:00 |
limit |
0.000000 |
1301.82 |
0 |
filled |
2015-01-20 21:29:00 |
2015-01-20 21:29:00 |
0 |
NaT |
limit |
0.000000 |
1298.88 |
1 |
open |
2015-01-20 21:31:00 |
2015-01-20 21:31:00 |
0 |
2015-01-20 21:32:00 |
limit |
0.000000 |
1298.63 |
1 |
filled |
2015-01-20 21:31:00 |
2015-01-20 21:31:00 |
0 |
NaT |
limit |
0.000000 |
1298.87 |
0 |
open |
2015-01-20 21:39:00 |
2015-01-20 21:39:00 |
0 |
2015-01-20 21:40:00 |
limit |
0.002974 |
1291.10 |
1 |
filled |
2015-01-20 21:49:00 |
2015-01-20 21:49:00 |
0 |
NaT |
limit |
0.000000 |
1294.56 |
1 |
open |
2015-01-20 22:13:00 |
2015-01-20 22:13:00 |
0 |
NaT |
limit |
0.000000 |
1286.10 |
0 |
open |
2015-01-20 22:13:00 |
2015-01-20 22:13:00 |
0 |
2015-01-20 22:15:00 |
limit |
-0.000000 |
1286.29 |
0 |
filled |
2015-01-20 22:19:00 |
2015-01-20 22:19:00 |
0 |
NaT |
limit |
0.000000 |
1288.92 |
0 |
open |
2015-01-20 22:19:00 |
2015-01-20 22:19:00 |
0 |
2015-01-20 22:22:00 |
limit |
0.000000 |
1289.50 |
0 |
filled |
2015-01-20 22:29:00 |
2015-01-20 22:29:00 |
0 |
2015-01-20 22:30:00 |
limit |
0.000000 |
1289.60 |
1 |
filled |
2015-01-20 22:31:00 |
2015-01-20 22:31:00 |
0 |
2015-01-20 22:34:00 |
limit |
0.000000 |
1289.29 |
0 |
filled |
2015-01-20 22:41:00 |
2015-01-20 22:41:00 |
0 |
2015-01-20 22:43:00 |
limit |
0.000016 |
1288.32 |
1 |
filled |
2015-01-20 22:49:00 |
2015-01-20 22:49:00 |
0 |
2015-01-20 22:50:00 |
limit |
0.000536 |
1286.90 |
1 |
filled |
2015-01-20 23:03:00 |
2015-01-20 23:03:00 |
0 |
2015-01-20 23:04:00 |
limit |
0.000000 |
1292.69 |
0 |
filled |
2015-01-20 23:08:00 |
2015-01-20 23:08:00 |
0 |
2015-01-20 23:09:00 |
limit |
0.000000 |
1294.60 |
0 |
filled |
2015-01-20 23:09:00 |
2015-01-20 23:09:00 |
0 |
2015-01-20 23:11:00 |
limit |
0.000000 |
1295.14 |
0 |
filled |
2015-01-20 23:24:00 |
2015-01-20 23:24:00 |
0 |
2015-01-20 23:30:00 |
limit |
0.000000 |
1292.00 |
0 |
filled |
2015-01-20 23:33:00 |
2015-01-20 23:33:00 |
0 |
2015-01-20 23:34:00 |
limit |
-0.000000 |
1292.98 |
0 |
filled |
2015-01-20 23:33:00 |
2015-01-20 23:33:00 |
0 |
2015-01-20 23:35:00 |
limit |
-0.000008 |
1292.01 |
1 |
filled |
2015-01-20 23:37:00 |
2015-01-20 23:37:00 |
0 |
2015-01-20 23:39:00 |
limit |
0.000000 |
1292.14 |
0 |
filled |
2015-01-20 23:39:00 |
2015-01-20 23:39:00 |
0 |
2015-01-20 23:40:00 |
limit |
0.000000 |
1292.31 |
0 |
filled |
2015-01-20 23:57:00 |
2015-01-20 23:57:00 |
0 |
2015-01-20 23:58:00 |
limit |
0.000000 |
1292.36 |
0 |
filled |
2015-01-20 23:57:00 |
2015-01-20 23:57:00 |
0 |
2015-01-21 00:39:00 |
limit |
0.000333 |
1292.02 |
1 |
filled |
2015-01-21 00:00:00 |
2015-01-21 00:00:00 |
0 |
2015-01-21 00:01:00 |
limit |
-0.000193 |
1293.91 |
1 |
filled |
2015-01-21 00:01:00 |
2015-01-21 00:01:00 |
0 |
2015-01-21 00:02:00 |
limit |
-0.000000 |
1294.76 |
0 |
filled |
2015-01-21 00:01:00 |
2015-01-21 00:01:00 |
0 |
NaT |
limit |
0.000000 |
1293.59 |
1 |
open |
2015-01-21 00:12:00 |
2015-01-21 00:12:00 |
0 |
2015-01-21 00:13:00 |
limit |
0.000000 |
1294.85 |
1 |
filled |
2015-01-21 00:26:00 |
2015-01-21 00:26:00 |
0 |
2015-01-21 00:28:00 |
limit |
-0.000000 |
1294.99 |
0 |
filled |
... |
... |
... |
... |
... |
... |
... |
... |
... |
2015-01-21 00:30:00 |
2015-01-21 00:30:00 |
0 |
2015-01-21 00:31:00 |
limit |
0.000000 |
1295.00 |
0 |
filled |
2015-01-21 00:40:00 |
2015-01-21 00:40:00 |
0 |
2015-01-21 00:41:00 |
limit |
0.000000 |
1292.80 |
0 |
filled |
2015-01-21 00:41:00 |
2015-01-21 00:41:00 |
0 |
2015-01-21 00:43:00 |
limit |
0.000000 |
1293.14 |
0 |
filled |
2015-01-21 00:45:00 |
2015-01-21 00:45:00 |
0 |
2015-01-21 00:46:00 |
limit |
0.000000 |
1293.91 |
0 |
filled |
2015-01-21 00:50:00 |
2015-01-21 00:50:00 |
0 |
2015-01-21 01:01:00 |
limit |
-0.003326 |
1293.00 |
1 |
filled |
2015-01-21 00:53:00 |
2015-01-21 00:53:00 |
0 |
2015-01-21 00:54:00 |
limit |
0.000000 |
1293.48 |
1 |
filled |
2015-01-21 00:56:00 |
2015-01-21 00:56:00 |
0 |
2015-01-21 00:58:00 |
limit |
0.000054 |
1293.27 |
1 |
filled |
2015-01-21 01:08:00 |
2015-01-21 01:08:00 |
0 |
2015-01-21 01:09:00 |
limit |
0.000000 |
1290.00 |
0 |
filled |
2015-01-21 01:10:00 |
2015-01-21 01:10:00 |
0 |
NaT |
limit |
0.000000 |
1290.00 |
1 |
open |
2015-01-21 01:10:00 |
2015-01-21 01:10:00 |
0 |
2015-01-21 01:32:00 |
limit |
0.000000 |
1290.00 |
1 |
filled |
2015-01-21 01:13:00 |
2015-01-21 01:13:00 |
0 |
2015-01-21 01:14:00 |
limit |
0.000000 |
1291.92 |
0 |
filled |
2015-01-21 01:22:00 |
2015-01-21 01:22:00 |
0 |
NaT |
limit |
0.000000 |
1292.98 |
1 |
open |
2015-01-21 01:30:00 |
2015-01-21 01:30:00 |
0 |
2015-01-21 01:33:00 |
limit |
-0.000000 |
1293.24 |
0 |
filled |
2015-01-21 01:35:00 |
2015-01-21 01:35:00 |
0 |
2015-01-21 01:37:00 |
limit |
0.000874 |
1292.25 |
1 |
filled |
2015-01-21 01:57:00 |
2015-01-21 01:57:00 |
0 |
NaT |
limit |
0.000000 |
1296.15 |
0 |
open |
2015-01-21 02:03:00 |
2015-01-21 02:03:00 |
0 |
NaT |
limit |
0.000000 |
1295.64 |
1 |
open |
2015-01-21 02:05:00 |
2015-01-21 02:05:00 |
0 |
2015-01-21 02:08:00 |
limit |
0.003692 |
1300.20 |
1 |
filled |
2015-01-21 02:13:00 |
2015-01-21 02:13:00 |
0 |
2015-01-21 02:23:00 |
limit |
0.000000 |
1309.90 |
1 |
filled |
2015-01-21 02:14:00 |
2015-01-21 02:14:00 |
0 |
NaT |
limit |
0.000000 |
1311.10 |
1 |
open |
2015-01-21 02:30:00 |
2015-01-21 02:30:00 |
0 |
2015-01-21 02:31:00 |
limit |
-0.000000 |
1304.00 |
0 |
filled |
2015-01-21 02:31:00 |
2015-01-21 02:31:00 |
0 |
NaT |
limit |
0.000000 |
1303.51 |
0 |
open |
2015-01-21 02:31:00 |
2015-01-21 02:31:00 |
0 |
2015-01-21 02:33:00 |
limit |
0.000000 |
1303.78 |
0 |
filled |
2015-01-21 02:35:00 |
2015-01-21 02:35:00 |
0 |
2015-01-21 02:37:00 |
limit |
0.000038 |
1300.63 |
1 |
filled |
2015-01-21 02:39:00 |
2015-01-21 02:39:00 |
0 |
NaT |
limit |
0.000000 |
1299.96 |
1 |
open |
2015-01-21 02:48:00 |
2015-01-21 02:48:00 |
0 |
2015-01-21 02:58:00 |
limit |
0.000000 |
1301.00 |
1 |
filled |
2015-01-21 02:52:00 |
2015-01-21 02:52:00 |
0 |
NaT |
limit |
0.000000 |
1304.57 |
0 |
open |
2015-01-21 03:02:00 |
2015-01-21 03:02:00 |
0 |
2015-01-21 03:10:00 |
limit |
0.000000 |
1298.68 |
0 |
filled |
2015-01-21 03:06:00 |
2015-01-21 03:06:00 |
0 |
2015-01-21 03:07:00 |
limit |
-0.000363 |
1295.59 |
1 |
filled |
2015-01-21 03:09:00 |
2015-01-21 03:09:00 |
0 |
NaT |
limit |
0.000000 |
1297.88 |
1 |
open |
2015-01-21 03:18:00 |
2015-01-21 03:18:00 |
0 |
2015-01-21 03:19:00 |
limit |
0.000000 |
1300.00 |
0 |
filled |
61 rows × 8 columns