原创文章第514篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由”。
01 强化学习因子挖掘
这是答应过星友好久的事情,但肯定会重启。
DeepAlpha通用因子挖掘:支持GPlearn遗传算法和深度强化学习挖掘因子(代码+数据下载)
之前这个版本是基于qlib的,qlib不支持截面因子,而且数据更新不那么方便。——后续做全A股市场多因子的时候,没准还是会重启qlib。
def _get_data(self) -> Tuple[torch.Tensor, pd.Index, pd.Index]:
features = ['
这里是数据初始化,本身也是把所有instrument的数据加载进入,转成“三维”的 Tensor。
token是因子表达式的基本要素:
class Token: def __repr__(self): return str(self) class ConstantToken(Token): def __init__(self, constant: float) -> None: self.constant = constant def __str__(self): return str(self.constant) class DeltaTimeToken(Token): def __init__(self, delta_time: int) -> None: self.delta_time = delta_time def __str__(self): return str(self.delta_time) class FeatureToken(Token): def __init__(self, feature: FeatureType) -> None: self.feature = feature def __str__(self): return '
生成如下的“逆波兰“表达式:
print(f'ref: Add(Ref(Abs($low),-10),Div($high,$close))')
最近抽时间,要把qlib重构掉,生成的因子表达式可以与Quantlab回测融合到一起。
02 web (app)开发
最近从flet到nicegui再到webapp(uniapp和ionic)。
uniapp和ionic vue的调研过程发现一个问题,难的不是ui层面,而是vue框架的问题。
都说Vue比React上手曲线平滑。
但真正有经验的程序员可能不这么看。
vue对js的魔改,实在让人看不懂,本身js就没规律,你又自己建立一套规矩,真还不如react的中规中举!
其实仔细想来,web及webapp是我们的核心诉求(桌面和App不是)。那么策略呈现,使用bootstrap是可以完成的,本身就是移动优先,而且果仁本身就是bootstrap+jquery开发。
唯独策略可视化这个交互比较多罢了。——而这一点nicegui是可以完成的。
最后想还,还来基于Django后端驱动 + Bootstrap(CSS框架,少数jquery辅助),可以加上jquery或者考虑 React(CDN模式,之前尝试过vue3,还是对vue3的感觉一般般。)
最近技术调研一个深刻的体会的:所有的选型都有其代价。
大团队无所谓,考虑效果,性能,可维护性为主。
而小团队,甚至是“一人企业”,更多就是找自己擅长的。
——如无必要,勿增实体。
吾日三省吾身
居安要思危。
在经济下行周期,每个人都要考虑自己的退路与出路。
光环是公司或平台给的,离开了,你还剩下什么?
这就不是人生意义的问题,而是生存问题。
我们不要混淆这两个层面: 在生存中谈意义。
至少基本财务安全,甚至财务基本自由的时候谈意义,否则专业赚钱!
+ f.name.lower() for f in self._features]
df = self._load_exprs(features)
df = df.stack().unstack(level=1)
dates = df.index.levels[0] # type: ignore
stock_ids = df.columns
values = df.values
values = values.reshape((-1, len(features), values.shape[-1])) # type: ignore
return torch.tensor(values, dtype=torch.float, device=self.device), dates, stock_ids
这里是数据初始化,本身也是把所有instrument的数据加载进入,转成“三维”的 Tensor。
token是因子表达式的基本要素:
生成如下的“逆波兰“表达式:
最近抽时间,要把qlib重构掉,生成的因子表达式可以与Quantlab回测融合到一起。
02 web (app)开发
最近从flet到nicegui再到webapp(uniapp和ionic)。
uniapp和ionic vue的调研过程发现一个问题,难的不是ui层面,而是vue框架的问题。
都说Vue比React上手曲线平滑。
但真正有经验的程序员可能不这么看。
vue对js的魔改,实在让人看不懂,本身js就没规律,你又自己建立一套规矩,真还不如react的中规中举!
其实仔细想来,web及webapp是我们的核心诉求(桌面和App不是)。那么策略呈现,使用bootstrap是可以完成的,本身就是移动优先,而且果仁本身就是bootstrap+jquery开发。
唯独策略可视化这个交互比较多罢了。——而这一点nicegui是可以完成的。
最后想还,还来基于Django后端驱动 + Bootstrap(CSS框架,少数jquery辅助),可以加上jquery或者考虑 React(CDN模式,之前尝试过vue3,还是对vue3的感觉一般般。)
最近技术调研一个深刻的体会的:所有的选型都有其代价。
大团队无所谓,考虑效果,性能,可维护性为主。
而小团队,甚至是“一人企业”,更多就是找自己擅长的。
——如无必要,勿增实体。
吾日三省吾身
居安要思危。
在经济下行周期,每个人都要考虑自己的退路与出路。
光环是公司或平台给的,离开了,你还剩下什么?
这就不是人生意义的问题,而是生存问题。
我们不要混淆这两个层面: 在生存中谈意义。
至少基本财务安全,甚至财务基本自由的时候谈意义,否则专业赚钱!
+ self.feature.name.lower()
class OperatorToken(Token):
def __init__(self, operator: Type[Operator]) -> None:
self.operator = operator
def __str__(self): return self.operator.__name__
class SequenceIndicatorToken(Token):
def __init__(self, indicator: SequenceIndicatorType) -> None:
self.indicator = indicator
def __str__(self): return self.indicator.name
BEG_TOKEN = SequenceIndicatorToken(SequenceIndicatorType.BEG)
SEP_TOKEN = SequenceIndicatorToken(SequenceIndicatorType.SEP)
生成如下的“逆波兰“表达式:
最近抽时间,要把qlib重构掉,生成的因子表达式可以与Quantlab回测融合到一起。
02 web (app)开发
最近从flet到nicegui再到webapp(uniapp和ionic)。
uniapp和ionic vue的调研过程发现一个问题,难的不是ui层面,而是vue框架的问题。
都说Vue比React上手曲线平滑。
但真正有经验的程序员可能不这么看。
vue对js的魔改,实在让人看不懂,本身js就没规律,你又自己建立一套规矩,真还不如react的中规中举!
其实仔细想来,web及webapp是我们的核心诉求(桌面和App不是)。那么策略呈现,使用bootstrap是可以完成的,本身就是移动优先,而且果仁本身就是bootstrap+jquery开发。
唯独策略可视化这个交互比较多罢了。——而这一点nicegui是可以完成的。
最后想还,还来基于Django后端驱动 + Bootstrap(CSS框架,少数jquery辅助),可以加上jquery或者考虑 React(CDN模式,之前尝试过vue3,还是对vue3的感觉一般般。)
最近技术调研一个深刻的体会的:所有的选型都有其代价。
大团队无所谓,考虑效果,性能,可维护性为主。
而小团队,甚至是“一人企业”,更多就是找自己擅长的。
——如无必要,勿增实体。
吾日三省吾身
居安要思危。
在经济下行周期,每个人都要考虑自己的退路与出路。
光环是公司或平台给的,离开了,你还剩下什么?
这就不是人生意义的问题,而是生存问题。
我们不要混淆这两个层面: 在生存中谈意义。
至少基本财务安全,甚至财务基本自由的时候谈意义,否则专业赚钱!
+ f.name.lower() for f in self._features]
df = self._load_exprs(features)
df = df.stack().unstack(level=1)
dates = df.index.levels[0] # type: ignore
stock_ids = df.columns
values = df.values
values = values.reshape((-1, len(features), values.shape[-1])) # type: ignore
return torch.tensor(values, dtype=torch.float, device=self.device), dates, stock_ids
这里是数据初始化,本身也是把所有instrument的数据加载进入,转成“三维”的 Tensor。
token是因子表达式的基本要素:
生成如下的“逆波兰“表达式:
最近抽时间,要把qlib重构掉,生成的因子表达式可以与Quantlab回测融合到一起。
02 web (app)开发
最近从flet到nicegui再到webapp(uniapp和ionic)。
uniapp和ionic vue的调研过程发现一个问题,难的不是ui层面,而是vue框架的问题。
都说Vue比React上手曲线平滑。
但真正有经验的程序员可能不这么看。
vue对js的魔改,实在让人看不懂,本身js就没规律,你又自己建立一套规矩,真还不如react的中规中举!
其实仔细想来,web及webapp是我们的核心诉求(桌面和App不是)。那么策略呈现,使用bootstrap是可以完成的,本身就是移动优先,而且果仁本身就是bootstrap+jquery开发。
唯独策略可视化这个交互比较多罢了。——而这一点nicegui是可以完成的。
最后想还,还来基于Django后端驱动 + Bootstrap(CSS框架,少数jquery辅助),可以加上jquery或者考虑 React(CDN模式,之前尝试过vue3,还是对vue3的感觉一般般。)
最近技术调研一个深刻的体会的:所有的选型都有其代价。
大团队无所谓,考虑效果,性能,可维护性为主。
而小团队,甚至是“一人企业”,更多就是找自己擅长的。
——如无必要,勿增实体。
吾日三省吾身
居安要思危。
在经济下行周期,每个人都要考虑自己的退路与出路。
光环是公司或平台给的,离开了,你还剩下什么?
这就不是人生意义的问题,而是生存问题。
我们不要混淆这两个层面: 在生存中谈意义。
至少基本财务安全,甚至财务基本自由的时候谈意义,否则专业赚钱!
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103416
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!