Skip to content

Commit 80b6c05

Browse files
authored
Merge pull request #948 from ricequant/develop
Develop
2 parents ee34889 + cedf018 commit 80b6c05

9 files changed

Lines changed: 13 additions & 11 deletions

File tree

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ simplejson >=3.10.0
1111
dill ==0.2.5
1212
PyYAML >=3.12
1313
tabulate
14-
rqrisk >=1.0.9
14+
rqrisk >=1.0.10
1515
h5py
1616
matplotlib >=1.5.1 ; python_version >= '3.6'
1717
matplotlib >=1.5.1,<=3.0.3 ; python_version == '3.5'

rqalpha/apis/api_base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,15 @@ def get_open_orders():
133133
verify_that("amount").is_number().is_greater_than(0),
134134
verify_that("side").is_in([SIDE.BUY, SIDE.SELL]),
135135
)
136-
def submit_order(id_or_ins, amount, side, price=None, position_effect=None):
136+
def submit_order(id_or_ins, amount, side, price_or_style=None, price=None, style=None, position_effect=None):
137137
# type: (Union[str, Instrument], float, SIDE, Optional[float], Optional[POSITION_EFFECT]) -> Optional[Order]
138138
"""
139139
通用下单函数,策略可以通过该函数自由选择参数下单。
140140
141141
:param id_or_ins: 下单标的物
142142
:param amount: 下单量,需为正数
143143
:param side: 多空方向
144-
:param price: 下单价格,默认为None,表示市价单
144+
:param price_or_style: 默认为None,表示市价单,可设置价格,表示限价单,也可以直接设置订单类型,有如下选项:MarketOrder、LimitOrder、TWAPOrder、VWAPOrder
145145
:param position_effect: 开平方向,交易股票不需要该参数
146146
:example:
147147
@@ -167,7 +167,7 @@ def submit_order(id_or_ins, amount, side, price=None, position_effect=None):
167167
raise RQInvalidArgument(
168168
_(u"Index Future contracts[99] are not supported in paper trading.")
169169
)
170-
style = cal_style(price, None)
170+
style = cal_style(price, style, price_or_style)
171171
market_price = env.get_last_price(order_book_id)
172172
if not is_valid_price(market_price):
173173
reason = _(u"Order Creation Failed: [{order_book_id}] No market data").format(order_book_id=order_book_id)

rqalpha/data/base_data_source/data_source.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ def _p(name):
116116
INSTRUMENT_TYPE.CS: dividend_store,
117117
INSTRUMENT_TYPE.ETF: dividend_store,
118118
INSTRUMENT_TYPE.LOF: dividend_store,
119+
INSTRUMENT_TYPE.REITs: dividend_store,
119120
}
120121

121122
self._calendar_providers = {

rqalpha/data/bundle.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,6 @@ def __init__(self, path: str, filename: str, api: Callable, fields: List[str], e
483483
self._api = api
484484
self._fields = fields
485485
self._start_date = start_date
486-
self._end_date = end_date
487486
self.updated = []
488487
self._env = Environment.get_instance()
489488
self._file_lock = FileLock(self._file + ".lock")
@@ -528,10 +527,10 @@ def _auto_update_task(self, instrument: Instrument) -> None:
528527
# 需要兼容此前的旧版数据,对字段名进行更新
529528
if len(h5[order_book_id][:]) != 0:
530529
last_date = datetime.datetime.strptime(str(h5[order_book_id][-1]['trading_dt']), "%Y%m%d").date()
531-
if last_date >= self._end_date:
530+
if last_date >= self._env.config.base.end_date:
532531
return
533532
start_date = self._env.data_proxy._data_source.get_next_trading_date(last_date).date()
534-
if start_date > self._end_date:
533+
if start_date > self._env.config.base.end_date:
535534
return
536535
else:
537536
del h5[order_book_id]
@@ -557,7 +556,7 @@ def _auto_update_task(self, instrument: Instrument) -> None:
557556
h5.close()
558557

559558
def _get_array(self, instrument: Instrument, start_date: datetime.date) -> Optional[np.ndarray]:
560-
df = self._api(instrument.order_book_id, start_date, self._end_date, self._fields)
559+
df = self._api(instrument.order_book_id, start_date, self._env.config.base.end_date, self._fields)
561560
if not (df is None or df.empty):
562561
df = df[self._fields].loc[instrument.order_book_id] # rqdatac.get_open_auction_info get Futures's data will auto add 'open_interest' and 'prev_settlement'
563562
record = df.iloc[0: 1].to_records()

rqalpha/mod/rqalpha_mod_sys_analyser/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def load_mod():
7272
))
7373
inject_run_param(click.Option(
7474
('-p', '--plot', 'mod__sys_analyser__plot'),
75-
default=None, is_flag=False, flag_value="default",
75+
is_flag=True, default=False,
7676
help=_("[sys_analyser] plot result")
7777
))
7878
inject_run_param(click.Option(

rqalpha/utils/testing/fixtures.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ def __init__(self, *args, **kwargs):
2121
super(EnvironmentFixture, self).__init__(*args, **kwargs)
2222
self.env_config = {
2323
"base":{
24-
"start_date": date(2016, 1, 1)
24+
"start_date": date(2016, 1, 1),
25+
"end_date": date(2023, 12, 28)
2526
}
2627
}
2728
self.env = None
@@ -79,6 +80,7 @@ def __init__(self, *args, **kwargs):
7980
"base": {
8081
"accounts": {"STOCK": 100},
8182
"start_date": date(2016, 1, 1),
83+
"end_date": date(2023, 12, 28),
8284
}
8385
}
8486

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
[metadata]
77
name = rqalpha
8-
version = 5.6.4.1
8+
version = 5.6.5
99

1010
[versioneer]
1111
VCS = git
-203 Bytes
Binary file not shown.

tests/outs/test_f_tick_size.pkl

-34 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)