【网格策略】
网格的核心逻辑是找到一个“锚”,然后低位时多买,高位卖出。越跌越买,越涨越卖的逻辑。听到这个逻辑,你应该看出来,高波动的振荡的标的特别适合这个策略。
价格的锚点是三年的最高价与最低价的平均。
proj = ProjConfig()
proj.name = '网格策略'
proj.fields = ['max(high,1440', 'low(low,1440)', '(highest_1440+lowest_1440)/2']
proj.name = ['highest_1440', 'lowest_1440', 'mid']
在这个mid的基础上,划分N档。
import numpy as np from .algo_base import Algo class AlgoGrid(Algo): def __init__(self): self.perc_levels = [x for x in np.arange( 1 + 0.005 * 5, 1 - 0.005 * 5 - 0.005 / 2, -0.005)] self.last_price_index = None def __call__(self, target): df_bar = target.df_bar mid = df_bar['mid']['B0'] close = df_bar['close']['B0'] price_levels = [mid * x for x in self.perc_levels] signal = False curr_price_index = None for i in range(len(price_levels)): if close > price_levels[i]: curr_price_index = i break if not curr_price_index: return False if self.last_price_index is None: signal = True else: if curr_price_index != self.last_price_index: signal = True if signal: target.order_target_percent( target=curr_price_index / (len(price_levels) - 1)) self.last_price_index = curr_price_index return False
【框架升级】
今天把toml配置文件,使用dataclass重构一下。
dataclass顾名思义就是数据类,可以方便地转为dict,dict可以直接dump/load到toml。
很重要的一个特性是嵌套的数据结构,dataclass的asdict都可以直接转为字典,反向也可以直接生成类。
@dataclass class AlgoConfig: name: str args: list @dataclass class ProjConfig: name: str = '' desc: str = "" start_date = '20100101' end_date = None benchmark: list[str] = field(default_factory=list) symbols: list[str] = field(default_factory=list) data_folder: str = 'futures' fields: list[str] = field(default_factory=list) names: list[str] = field(default_factory=list) algos: list[AlgoConfig] = field(default_factory=list) def to_toml(self): data = asdict(self) toml.dump(data, open("{}.toml".format(self.name), "w", encoding='utf8')) def from_toml(filename): with open(filename, "rb") as f: config = tomli.load(f) proj = ProjConfig(**config) return proj
吾日三省吾身
量化里最重要的事情是什么?投资逻辑。量化只是投资逻辑的数量表达。
最简单的定投,网格背后都有它的逻辑。
无论主动还是背后,投资都是一个概率的逻辑。概率就有有可能发生,有可能不发生。具体结果如何,事后才知道。
那从交易体系而言,就是迎着更大的概率事情而布局,但对可能发生的小概率甚至黑天鹅事件做好底线预案。
即便你有一个超级AI模型,告诉你某支股票会猛涨,这时候,我会怎么办?拿更大的桶去接?当然没错,但这是索罗斯的能力圈,普通人,至少不要加杠杆,你永远问一句,如果方向不及预期的发展呢?比如何时止损,还是死扛——至少你需要想过这个问题。——之前看过一本写得不错的二级市场的小说,结果发现没有续集了——一查发现作者在2015年的牛市见顶之后,加杠杆死杠,然后就没有然后了。
一个成熟的交易体系就是“先胜而后求战”。
大类资产轮动,逻辑比较简单,就是选股,仓位分配。
但到的择时策略,精细化反而更加复杂。
比如说网格,可以是价值与阈值进行判断,来计算signal,根据signal来计算仓位。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103847
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!