From 69ab85078585132ac4997cfa689dae0d936af756 Mon Sep 17 00:00:00 2001 From: yutiansut Date: Mon, 13 Jan 2020 16:33:53 +0800 Subject: [PATCH] #update to 1.7.5 --- QUANTAXIS/QAARP/QARisk.py | 438 +++++++++++----------- QUANTAXIS/QAIndicator/talib_indicators.py | 3 +- QUANTAXIS/QAIndicator/talib_series.py | 3 +- QUANTAXIS/__init__.py | 2 +- 4 files changed, 227 insertions(+), 219 deletions(-) diff --git a/QUANTAXIS/QAARP/QARisk.py b/QUANTAXIS/QAARP/QARisk.py index d640a7fe9..fdcd75506 100755 --- a/QUANTAXIS/QAARP/QARisk.py +++ b/QUANTAXIS/QAARP/QARisk.py @@ -71,8 +71,9 @@ if platform.system() not in ['Windows', 'Darwin'] and os.environ.get('DISPLAY', '') == '': - print('no display found. Using non-interactive Agg backend') - print("if you use ssh, you can use ssh with -X parmas to avoid this issue") + print('you are using non-interactive mdoel quantaxis') + # print('no display found. Using non-interactive Agg backend') + # print("if you use ssh, you can use ssh with -X parmas to avoid this issue") # try: # pass # except expression as identifier: @@ -1025,116 +1026,119 @@ def pnl_lifo(self): ) pair_table = [] for _, data in self.target.history_table_min.iterrows(): - while True: - - if data.direction in[1, 2, -2]: - if data.direction in [1, 2]: - X[data.code]['buy'].append( - (data.datetime, - data.amount, - data.price, - data.direction) - ) - elif data.direction in [-2]: - X[data.code]['sell'].append( - (data.datetime, - data.amount, - data.price, - data.direction) - ) - break - elif data.direction in[-1, 3, -3]: - - rawoffset = 'buy' if data.direction in [-1, -3] else 'sell' - - l = X[data.code][rawoffset].get() - if abs(l[1]) > abs(data.amount): - """ - if raw> new_close: - """ - temp = (l[0], l[1] + data.amount, l[2]) - X[data.code][rawoffset].put_nowait(temp) - if data.amount < 0: - pair_table.append( - [ - data.code, - data.datetime, - l[0], - abs(data.amount), - data.price, - l[2], - rawoffset - ] - ) - break - else: - pair_table.append( - [ - data.code, - l[0], - data.datetime, - abs(data.amount), - l[2], - data.price, - rawoffset - ] - ) - break - - elif abs(l[1]) < abs(data.amount): - data.amount = data.amount + l[1] - - if data.amount < 0: - pair_table.append( - [ - data.code, - data.datetime, - l[0], - l[1], - data.price, - l[2], - rawoffset - ] - ) - else: - pair_table.append( - [ - data.code, - l[0], - data.datetime, - l[1], - l[2], - data.price, - rawoffset - ] + + if abs(data.amount) < 1: + pass + else: + while True: + if data.direction in[1, 2, -2]: + if data.direction in [1, 2]: + X[data.code]['buy'].append( + (data.datetime, + data.amount, + data.price, + data.direction) ) - else: - if data.amount < 0: - pair_table.append( - [ - data.code, - data.datetime, - l[0], - abs(data.amount), - data.price, - l[2], - rawoffset - ] + elif data.direction in [-2]: + X[data.code]['sell'].append( + (data.datetime, + data.amount, + data.price, + data.direction) ) - break + break + elif data.direction in[-1, 3, -3]: + + rawoffset = 'buy' if data.direction in [-1, -3] else 'sell' + + l = X[data.code][rawoffset].get() + if abs(l[1]) > abs(data.amount): + """ + if raw> new_close: + """ + temp = (l[0], l[1] + data.amount, l[2]) + X[data.code][rawoffset].put_nowait(temp) + if data.amount < 0: + pair_table.append( + [ + data.code, + data.datetime, + l[0], + abs(data.amount), + data.price, + l[2], + rawoffset + ] + ) + break + else: + pair_table.append( + [ + data.code, + l[0], + data.datetime, + abs(data.amount), + l[2], + data.price, + rawoffset + ] + ) + break + + elif abs(l[1]) < abs(data.amount): + data.amount = data.amount + l[1] + + if data.amount < 0: + pair_table.append( + [ + data.code, + data.datetime, + l[0], + l[1], + data.price, + l[2], + rawoffset + ] + ) + else: + pair_table.append( + [ + data.code, + l[0], + data.datetime, + l[1], + l[2], + data.price, + rawoffset + ] + ) else: - pair_table.append( - [ - data.code, - l[0], - data.datetime, - abs(data.amount), - l[2], - data.price, - rawoffset - ] - ) - break + if data.amount < 0: + pair_table.append( + [ + data.code, + data.datetime, + l[0], + abs(data.amount), + data.price, + l[2], + rawoffset + ] + ) + break + else: + pair_table.append( + [ + data.code, + l[0], + data.datetime, + abs(data.amount), + l[2], + data.price, + rawoffset + ] + ) + break pair_title = [ 'code', @@ -1195,116 +1199,118 @@ def pnl_fifo(self): ) pair_table = [] for _, data in self.target.history_table_min.iterrows(): - while True: - - if data.direction in[1, 2, -2]: - if data.direction in [1, 2]: - X[data.code]['buy'].append( - (data.datetime, - data.amount, - data.price, - data.direction) - ) - elif data.direction in [-2]: - X[data.code]['sell'].append( - (data.datetime, - data.amount, - data.price, - data.direction) - ) - break - elif data.direction in[-1, 3, -3]: - - rawoffset = 'buy' if data.direction in [-1, -3] else 'sell' - - l = X[data.code][rawoffset].popleft() - if abs(l[1]) > abs(data.amount): - """ - if raw> new_close: - """ - temp = (l[0], l[1] + data.amount, l[2]) - X[data.code][rawoffset].appendleft(temp) - if data.amount < 0: - pair_table.append( - [ - data.code, - data.datetime, - l[0], - abs(data.amount), - data.price, - l[2], - rawoffset - ] - ) - break - else: - pair_table.append( - [ - data.code, - l[0], - data.datetime, - abs(data.amount), - l[2], - data.price, - rawoffset - ] - ) - break - - elif abs(l[1]) < abs(data.amount): - data.amount = data.amount + l[1] - - if data.amount < 0: - pair_table.append( - [ - data.code, - data.datetime, - l[0], - l[1], - data.price, - l[2], - rawoffset - ] - ) - else: - pair_table.append( - [ - data.code, - l[0], - data.datetime, - l[1], - l[2], - data.price, - rawoffset - ] + if abs(data.amount) < 1: + pass + else: + while True: + if data.direction in[1, 2, -2]: + if data.direction in [1, 2]: + X[data.code]['buy'].append( + (data.datetime, + data.amount, + data.price, + data.direction) ) - else: - if data.amount < 0: - pair_table.append( - [ - data.code, - data.datetime, - l[0], - abs(data.amount), - data.price, - l[2], - rawoffset - ] + elif data.direction in [-2]: + X[data.code]['sell'].append( + (data.datetime, + data.amount, + data.price, + data.direction) ) - break + break + elif data.direction in[-1, 3, -3]: + + rawoffset = 'buy' if data.direction in [-1, -3] else 'sell' + + l = X[data.code][rawoffset].popleft() + if abs(l[1]) > abs(data.amount): + """ + if raw> new_close: + """ + temp = (l[0], l[1] + data.amount, l[2]) + X[data.code][rawoffset].appendleft(temp) + if data.amount < 0: + pair_table.append( + [ + data.code, + data.datetime, + l[0], + abs(data.amount), + data.price, + l[2], + rawoffset + ] + ) + break + else: + pair_table.append( + [ + data.code, + l[0], + data.datetime, + abs(data.amount), + l[2], + data.price, + rawoffset + ] + ) + break + + elif abs(l[1]) < abs(data.amount): + data.amount = data.amount + l[1] + + if data.amount < 0: + pair_table.append( + [ + data.code, + data.datetime, + l[0], + l[1], + data.price, + l[2], + rawoffset + ] + ) + else: + pair_table.append( + [ + data.code, + l[0], + data.datetime, + l[1], + l[2], + data.price, + rawoffset + ] + ) else: - pair_table.append( - [ - data.code, - l[0], - data.datetime, - abs(data.amount), - l[2], - data.price, - rawoffset - ] - ) - break + if data.amount < 0: + pair_table.append( + [ + data.code, + data.datetime, + l[0], + abs(data.amount), + data.price, + l[2], + rawoffset + ] + ) + break + else: + pair_table.append( + [ + data.code, + l[0], + data.datetime, + abs(data.amount), + l[2], + data.price, + rawoffset + ] + ) + break pair_title = [ 'code', diff --git a/QUANTAXIS/QAIndicator/talib_indicators.py b/QUANTAXIS/QAIndicator/talib_indicators.py index dbb32a106..d9d944e12 100755 --- a/QUANTAXIS/QAIndicator/talib_indicators.py +++ b/QUANTAXIS/QAIndicator/talib_indicators.py @@ -27,7 +27,8 @@ try: import talib except: - print('PLEASE install TALIB to call these methods') + pass + #print('PLEASE install TALIB to call these methods') def AD(DataFrame): diff --git a/QUANTAXIS/QAIndicator/talib_series.py b/QUANTAXIS/QAIndicator/talib_series.py index ad5f40eff..644fa8586 100755 --- a/QUANTAXIS/QAIndicator/talib_series.py +++ b/QUANTAXIS/QAIndicator/talib_series.py @@ -26,7 +26,8 @@ try: import talib except: - print('PLEASE install TALIB to call these methods') + pass + #print('PLEASE install TALIB to call these methods') import pandas as pd diff --git a/QUANTAXIS/__init__.py b/QUANTAXIS/__init__.py index debae0ddb..ee0738822 100755 --- a/QUANTAXIS/__init__.py +++ b/QUANTAXIS/__init__.py @@ -31,7 +31,7 @@ 2017/4/8 """ -__version__ = '1.7.4' +__version__ = '1.7.5' __author__ = 'yutiansut' import argparse