1
0
mirror of https://github.com/microsoft/qlib.git synced 2026-07-14 08:16:54 +08:00

Order patch

This commit is contained in:
v-mingzhehan
2021-07-01 09:41:08 +00:00
parent 24d5a3127b
commit 2b4a493617

View File

@@ -12,6 +12,7 @@ if TYPE_CHECKING:
from qlib.backtest.exchange import Exchange from qlib.backtest.exchange import Exchange
from qlib.backtest.utils import TradeCalendarManager from qlib.backtest.utils import TradeCalendarManager
import warnings import warnings
import numpy as np
import pandas as pd import pandas as pd
from dataclasses import dataclass, field from dataclasses import dataclass, field
from typing import ClassVar, Optional, Union, List, Set, Tuple from typing import ClassVar, Optional, Union, List, Set, Tuple
@@ -47,7 +48,7 @@ class Order:
direction: int direction: int
factor: float factor: float
deal_amount: float = field(init=False) deal_amount: Optional[float] = None
# FIXME: # FIXME:
# for compatible now. # for compatible now.
@@ -62,11 +63,11 @@ class Order:
self.deal_amount = 0 self.deal_amount = 0
@staticmethod @staticmethod
def parse_dir(direction: Union[str, int, OrderDir]) -> OrderDir: def parse_dir(direction: Union[str, int, np.integer, OrderDir]) -> OrderDir:
if isinstance(direction, OrderDir): if isinstance(direction, OrderDir):
return direction return direction
elif isinstance(direction, int): elif isinstance(direction, (int, float, np.integer, np.floating)):
return OrderDir(direction) return OrderDir(int(direction))
elif isinstance(direction, str): elif isinstance(direction, str):
dl = direction.lower() dl = direction.lower()
if dl.strip() == "sell": if dl.strip() == "sell":