From a3ff8d295d87ebb132eda64465c61413b4a242ab Mon Sep 17 00:00:00 2001 From: "lin.dongzhao" <542698096@qq.com> Date: Mon, 5 Feb 2024 11:15:52 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=85=BC=E5=AE=B9rqdatac=3D=3D3.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rqalpha/apis/api_rqdatac.py | 5 ----- rqalpha/model/instrument.py | 2 +- setup.cfg | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/rqalpha/apis/api_rqdatac.py b/rqalpha/apis/api_rqdatac.py index 38c295cf0..901894539 100644 --- a/rqalpha/apis/api_rqdatac.py +++ b/rqalpha/apis/api_rqdatac.py @@ -1377,8 +1377,3 @@ def _get_data(symbol_list, start_dt): def query(*entities): return rqdatac.query(*entities) - -export_as_api(rqdatac.financials, name='financials') -export_as_api(rqdatac.financials, name='Financials') -export_as_api(rqdatac.fundamentals, name='fundamentals') -export_as_api(rqdatac.Fundamentals, name='Fundamentals') diff --git a/rqalpha/model/instrument.py b/rqalpha/model/instrument.py index fde4a65c0..e2d93ee22 100644 --- a/rqalpha/model/instrument.py +++ b/rqalpha/model/instrument.py @@ -459,7 +459,7 @@ def get_short_margin_ratio(self, dt): """ 获取空头保证金率(期货专用) """ - return self._futures_long_margin_ratio_getter(self, dt) + return self._futures_short_margin_ratio_getter(self, dt) def calc_cash_occupation(self, price, quantity, direction, dt): # type: (float, int, POSITION_DIRECTION, datetime.date) -> float diff --git a/setup.cfg b/setup.cfg index 54394e43c..bd44d6f9e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ [metadata] name = rqalpha -version = 5.3.5 +version = 5.3.6 [versioneer] VCS = git From 9a758d4dcb62f3fa27171e18746e0cd3f10d53e9 Mon Sep 17 00:00:00 2001 From: "Don.Lin" <142398161+Lin-Dongzhao@users.noreply.github.com> Date: Tue, 20 Feb 2024 11:49:27 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E7=A9=BA=E5=A4=B4=E4=BB=93=E4=BD=8D=E6=95=B0=E5=80=BC?= =?UTF-8?q?=E4=B8=BA=E8=B4=9F=E6=95=B0=E7=9A=84=E9=97=AE=E9=A2=98=20(#849)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 兼容rqdatac==3.0.0 * 修复初始化空头仓位数量为负数的问题 * update data --------- Co-authored-by: Cuizi7 --- rqalpha/apis/api_rqdatac.py | 5 ----- rqalpha/model/instrument.py | 2 +- rqalpha/portfolio/account.py | 1 + setup.cfg | 2 +- tests/outs/test_s_pit_tax.pkl | Bin 19508 -> 19639 bytes 5 files changed, 3 insertions(+), 7 deletions(-) diff --git a/rqalpha/apis/api_rqdatac.py b/rqalpha/apis/api_rqdatac.py index 38c295cf0..901894539 100644 --- a/rqalpha/apis/api_rqdatac.py +++ b/rqalpha/apis/api_rqdatac.py @@ -1377,8 +1377,3 @@ def _get_data(symbol_list, start_dt): def query(*entities): return rqdatac.query(*entities) - -export_as_api(rqdatac.financials, name='financials') -export_as_api(rqdatac.financials, name='Financials') -export_as_api(rqdatac.fundamentals, name='fundamentals') -export_as_api(rqdatac.Fundamentals, name='Fundamentals') diff --git a/rqalpha/model/instrument.py b/rqalpha/model/instrument.py index fde4a65c0..e2d93ee22 100644 --- a/rqalpha/model/instrument.py +++ b/rqalpha/model/instrument.py @@ -459,7 +459,7 @@ def get_short_margin_ratio(self, dt): """ 获取空头保证金率(期货专用) """ - return self._futures_long_margin_ratio_getter(self, dt) + return self._futures_short_margin_ratio_getter(self, dt) def calc_cash_occupation(self, price, quantity, direction, dt): # type: (float, int, POSITION_DIRECTION, datetime.date) -> float diff --git a/rqalpha/portfolio/account.py b/rqalpha/portfolio/account.py index 4df32743c..c5e1d6a11 100644 --- a/rqalpha/portfolio/account.py +++ b/rqalpha/portfolio/account.py @@ -82,6 +82,7 @@ def __init__( for order_book_id, (init_quantity, init_price) in init_positions.items(): position_direction = POSITION_DIRECTION.LONG if init_quantity > 0 else POSITION_DIRECTION.SHORT + init_quantity = abs(init_quantity) if init_quantity < 0 else init_quantity self._get_or_create_pos(order_book_id, position_direction, init_quantity, init_price) def __repr__(self): diff --git a/setup.cfg b/setup.cfg index 54394e43c..bd44d6f9e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ [metadata] name = rqalpha -version = 5.3.5 +version = 5.3.6 [versioneer] VCS = git diff --git a/tests/outs/test_s_pit_tax.pkl b/tests/outs/test_s_pit_tax.pkl index 8247c088d244ad0b50857c07554eeb2c0a59ab6e..e040fa31134e3827ac873e2e4f34ff2fc3b24259 100644 GIT binary patch delta 917 zcmYk*yG{a85XSLCw5PyD5K$CFMHX0CF3Md{!5cgX?{GR2Y8pxGp@d*!YdGOONPH1d z*yF$ZO}=6>lbMe<*XPJJ{qo4=t`KoGR_}}cV&E3SgcEQQPQezOhBL4YXW^V0OWin+ zpa5UPH*gUy!DYAtSK*qr6r!#RA#ULY+=TDod-wrv!EN{ve)@HNyY^=UFYqhefxFtn znejbb89nJy6TQqm*nqw8KJ0`2@Btiv58>d(^6z|(5FEoH_yj(M!*B#XgQM^{e4*t3 o^p^-?@D&_~O*jE3;S_AaX~(7Y^JJW2Z5z(QIXLflzT>m(9}`QhCjbBd delta 799 zcmYMyxlRI66oBD7i3Ob|210C2^aX68;1v*YS45BzWEpn1i=emwLIMT0J^_g&wq|$| zdmcj6;XmD%zd1QM=kv`N4~@~+vJNaLmGYUBce}Bu)CEeT49cP$vQQosP!W|-8C86y zb_Q38m*@&zqZ@RKG_q^LJ7Hbe5Z?b%|E+C5NNx%rg-^m~;ft^(YzsTWS7BG^>N)Oz zyQlpnPgDo}^J8qH5ZXdvw2gMqF4{x;=l~s}qkrky7aS8K=mbU4DT<*uIztI$qH~l) nshPC%h{QC?pe)KE3*}J(6;TP5k+o(hl~`$7>&C~xySniMSwJ>N From f6696917ec7346e5f6e815defdb1f3e72ef4c961 Mon Sep 17 00:00:00 2001 From: "Don.Lin" <142398161+Lin-Dongzhao@users.noreply.github.com> Date: Tue, 20 Feb 2024 11:51:46 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E5=85=BC=E5=AE=B9rqdatac=3D=3D3.0.0=20(#84?= =?UTF-8?q?8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cuizi7 From 88836093091f8069eeffac20d51763d438c136f6 Mon Sep 17 00:00:00 2001 From: "lin.dongzhao" <542698096@qq.com> Date: Mon, 26 Feb 2024 11:29:34 +0800 Subject: [PATCH 4/9] data update --- tests/outs/test_s_pit_tax.pkl | Bin 19639 -> 20272 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/outs/test_s_pit_tax.pkl b/tests/outs/test_s_pit_tax.pkl index e040fa31134e3827ac873e2e4f34ff2fc3b24259..8a4619b516e3d94dc4bba77219a25bc8388450dd 100644 GIT binary patch literal 20272 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 Wdg}LVJaI<@G|qDrZV4KW7W@xW1QWCX literal 19639 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 Date: Tue, 27 Feb 2024 15:18:57 +0800 Subject: [PATCH 5/9] Rqsdk 727 (#853) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * rqalpha==5.3.6 (#850) * 兼容rqdatac==3.0.0 * 修复初始化空头仓位数值为负数的问题 (#849) * 兼容rqdatac==3.0.0 * 修复初始化空头仓位数量为负数的问题 * update data --------- Co-authored-by: Cuizi7 * 兼容rqdatac==3.0.0 (#848) Co-authored-by: Cuizi7 * data update --------- Co-authored-by: Cuizi7 * 分红再投资增加交易流水记录 --------- Co-authored-by: Cuizi7 --- rqalpha/data/bundle.py | 2 +- rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rqalpha/data/bundle.py b/rqalpha/data/bundle.py index a9be5d559..91fcc63cd 100644 --- a/rqalpha/data/bundle.py +++ b/rqalpha/data/bundle.py @@ -519,10 +519,10 @@ def update_futures_trading_parameters(self, path, fields, end_date): if recreate_futures_list: self.generate_futures_trading_parameters(path, fields, last_date, recreate_futures_list=recreate_futures_list) if end_date > last_date: - system_log.info(_("Futures historical trading parameters data is being updated, please wait......")) if rqdatac.get_previous_trading_date(end_date) == last_date: return else: + system_log.info(_("Futures historical trading parameters data is being updated, please wait......")) start_date = rqdatac.get_next_trading_date(last_date) df = rqdatac.futures.get_trading_parameters(self._order_book_ids, start_date, end_date, fields) if not(df is None or df.empty): diff --git a/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py b/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py index f851bc9e6..ba97624f0 100644 --- a/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py +++ b/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py @@ -191,9 +191,13 @@ def _handle_dividend_payable(self, trading_date): round_lot = self._instrument.round_lot amount = int(Decimal(amount) / Decimal(round_lot)) * round_lot if amount > 0: - self.apply_trade(Trade.__from_create__( + account = self._env.get_account(self._order_book_id) + trade = Trade.__from_create__( None, last_price, amount, SIDE.BUY, POSITION_EFFECT.OPEN, self._order_book_id - )) + ) + trade._commission = self._env.get_trade_commission(trade) + trade._tax = self._env.get_trade_tax(trade) + self._env.event_bus.publish_event(Event(EVENT.TRADE, account=account, trade=trade, order=None)) return dividend_value - amount * last_price else: return dividend_value From e37bb1877bad528efcabe7edf74f257ef47b636c Mon Sep 17 00:00:00 2001 From: "lin.dongzhao" <542698096@qq.com> Date: Tue, 27 Feb 2024 15:31:55 +0800 Subject: [PATCH 6/9] version update --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index bd44d6f9e..ef2c827f7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ [metadata] name = rqalpha -version = 5.3.6 +version = 5.3.7 [versioneer] VCS = git From c90dce55c85d1b1534531094b0a9dc4496fc56ae Mon Sep 17 00:00:00 2001 From: "Don.Lin" <142398161+Lin-Dongzhao@users.noreply.github.com> Date: Wed, 6 Mar 2024 19:14:44 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96tick=5F?= =?UTF-8?q?size=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98=20(#854)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rqalpha/data/base_data_source/storages.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/rqalpha/data/base_data_source/storages.py b/rqalpha/data/base_data_source/storages.py index 2998c04e4..56144971c 100644 --- a/rqalpha/data/base_data_source/storages.py +++ b/rqalpha/data/base_data_source/storages.py @@ -100,14 +100,15 @@ def get_future_info(self, order_book_id, underlying_symbol): def _to_namedtuple(self, info): # type: (dict) -> FuturesTradingParameters - info['long_margin_ratio'], info['short_margin_ratio'] = info['margin_rate'], info['margin_rate'] - del info['margin_rate'], info['tick_size'] + futures_info = copy(info) + futures_info['long_margin_ratio'], futures_info['short_margin_ratio'] = futures_info['margin_rate'], futures_info['margin_rate'] + del futures_info['margin_rate'], futures_info['tick_size'] try: - del info['order_book_id'] + del futures_info['order_book_id'] except KeyError: - del info['underlying_symbol'] - info = FuturesTradingParameters(**info) - return info + del futures_info['underlying_symbol'] + futures_info = FuturesTradingParameters(**futures_info) + return futures_info @lru_cache(8) def get_tick_size(self, instrument): From 753a0660302bb40bbec8e710a798ae94f2c09392 Mon Sep 17 00:00:00 2001 From: "lin.dongzhao" <542698096@qq.com> Date: Wed, 6 Mar 2024 19:25:34 +0800 Subject: [PATCH 8/9] update version --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index ef2c827f7..690f7f17a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ [metadata] name = rqalpha -version = 5.3.7 +version = 5.3.8 [versioneer] VCS = git From 139deb197b90629531887dda6e6940fa68b5ba23 Mon Sep 17 00:00:00 2001 From: "lin.dongzhao" <542698096@qq.com> Date: Thu, 7 Mar 2024 11:19:14 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E6=92=A4=E5=9B=9E=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 690f7f17a..ef2c827f7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ [metadata] name = rqalpha -version = 5.3.8 +version = 5.3.7 [versioneer] VCS = git