ricequant / rqalpha

A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
http://rqalpha.io
Other
5.39k stars 1.62k forks source link

decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>] #253

Closed zqy2084 closed 6 years ago

zqy2084 commented 6 years ago

1. RQAlpha的版本

Current Version: (3, 0, 9)

2. Python的版本

Python 3.4.2

3. 是Windows/Linux/MacOS or others?

Linux debian88 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 GNU/Linux

4. 您出现问题对应的源码/或者能复现问题的简易代码 以及对应的配置

mod/rqalpha_mod_sys_accounts/api/api_stock.py

line 39: getcontext().prec = 10 设置了小数点精度为10,原来decimal的默认设置为28 导致我在做超过10位的Deciaml操作的时候出异常 例如: round(Decimal(111111111111.11), 2)

5. 您出现的错误堆栈日志信息

decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>]

zqy2084 commented 6 years ago

对于处理市值等大数来说,10位数(包括小数点后)完全不足够。

hzliu commented 6 years ago

收到,谢谢

Cuizi7 commented 6 years ago

fixed