mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-14 08:16:54 +08:00
Order patch
This commit is contained in:
@@ -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":
|
||||||
|
|||||||
Reference in New Issue
Block a user