强化学习因子挖掘系统

原创文章第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回测融合到一起。

AI量化实验室——2024量化投资的星辰大海

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的感觉一般般。)

最近技术调研一个深刻的体会的:所有的选型都有其代价

大团队无所谓,考虑效果,性能,可维护性为主。

而小团队,甚至是“一人企业”,更多就是找自己擅长的。

——如无必要,勿增实体

吾日三省吾身

居安要思危。

在经济下行周期,每个人都要考虑自己的退路与出路。

光环是公司或平台给的,离开了,你还剩下什么?

这就不是人生意义的问题,而是生存问题。

我们不要混淆这两个层面: 在生存中谈意义。

至少基本财务安全,甚至财务基本自由的时候谈意义,否则专业赚钱!

AI量化实验室——2024量化投资的星辰大海

+ 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回测融合到一起。

AI量化实验室——2024量化投资的星辰大海

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的感觉一般般。)

最近技术调研一个深刻的体会的:所有的选型都有其代价

大团队无所谓,考虑效果,性能,可维护性为主。

而小团队,甚至是“一人企业”,更多就是找自己擅长的。

——如无必要,勿增实体

吾日三省吾身

居安要思危。

在经济下行周期,每个人都要考虑自己的退路与出路。

光环是公司或平台给的,离开了,你还剩下什么?

这就不是人生意义的问题,而是生存问题。

我们不要混淆这两个层面: 在生存中谈意义。

至少基本财务安全,甚至财务基本自由的时候谈意义,否则专业赚钱!

AI量化实验室——2024量化投资的星辰大海

+ 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回测融合到一起。

AI量化实验室——2024量化投资的星辰大海

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的感觉一般般。)

最近技术调研一个深刻的体会的:所有的选型都有其代价

大团队无所谓,考虑效果,性能,可维护性为主。

而小团队,甚至是“一人企业”,更多就是找自己擅长的。

——如无必要,勿增实体

吾日三省吾身

居安要思危。

在经济下行周期,每个人都要考虑自己的退路与出路。

光环是公司或平台给的,离开了,你还剩下什么?

这就不是人生意义的问题,而是生存问题。

我们不要混淆这两个层面: 在生存中谈意义。

至少基本财务安全,甚至财务基本自由的时候谈意义,否则专业赚钱!

AI量化实验室——2024量化投资的星辰大海

+ 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回测融合到一起。

AI量化实验室——2024量化投资的星辰大海

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
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 3天前
下一篇 3天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注