原创文章第287篇,专注“个人成长与财富自由、世界运作的逻辑与投资"。 今天实现了因子编辑器,这是咱们AI量化系统最重要的部分,很多同学就是不知道因子如何计算,以致于不理解策略怎么写。 这里我做了一个表达式编辑器,基本流程走通了,——还没有完全串起来。 这里代码如下(代码已经更新至星球,大家可以前往下载): from gui.panels.dlg_editor import DlgEditor import wx from engine.config import IMAGE_DIR
class EditorUtils: def __init__(self): self.dlg = DlgEditor(None)
self.image_list = wx.ImageList(16, 16) self.image_list = wx.ImageList(16, 16) lab = IMAGE_DIR.joinpath('root.png').resolve() folder = IMAGE_DIR.joinpath('folder.png').resolve() ind = IMAGE_DIR.joinpath('ind.png').resolve() self.root_icon = self.image_list.Add(wx.Image(str(lab), wx.BITMAP_TYPE_PNG).Scale(16, 16).ConvertToBitmap()) self.folder_icon =self.image_list.Add(wx.Image(str(folder), wx.BITMAP_TYPE_PNG).Scale(16, 16).ConvertToBitmap()) self.ind_icon =self.image_list.Add(wx.Image(str(ind), wx.BITMAP_TYPE_PNG).Scale(16, 16).ConvertToBitmap()) self.dlg.tree_rules.SetImageList(self.image_list)
self._init_tree_inds()
self.dlg.tree_rules.Bind(wx.EVT_TREE_SEL_CHANGED, self.on_sel_changed) self.dlg.tree_rules.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.on_double_clicked)
def show_model(self): return self.dlg.ShowModal()
def on_double_clicked(self, e): item = e.GetItem() data = self.dlg.tree_rules.GetItemData(item) if data: if 'expr' in data.keys(): self.dlg.text_rules.SetInsertionPoint(0)
self.dlg.text_rules.AppendText(data['expr']) #self.dlg.label_tips.SetLabelText(data['help_text'])
def on_sel_changed(self, e): item = e.GetItem() data = self.dlg.tree_rules.GetItemData(item) if data: if 'help_text' in data.keys(): self.dlg.label_tips.SetLabelText(data['help_text'])
def _init_tree_inds(self): data = { '价量指标': {'open': {'help_text': '开盘价','expr':'open'}, 'high': {}, 'low': {}, 'close': {}, 'volume': {} }, '时间序列函数': {'shift': {}, 'rsrs': {'help_text': '光大RSRS指标','expr':'rsrs(high,low,18)'}, 'roc': {}, 'slope': {}} }
tree = self.dlg.tree_rules root = tree.AddRoot("指标与函数集合") self.dlg.tree_rules.SetItemImage(root, self.root_icon, wx.TreeItemIcon_Normal) for text, category_data in data.items(): category_item = tree.AppendItem(root, text) self.dlg.tree_rules.SetItemImage(category_item, self.folder_icon, wx.TreeItemIcon_Normal) for ind, item_data in category_data.items(): node_item = tree.AppendItem(category_item, ind) self.dlg.tree_rules.SetItemImage(node_item, self.ind_icon, wx.TreeItemIcon_Normal)
tree.SetItemData(node_item, item_data) tree.ExpandAll()
吾日三省吾身 人无远虑,必有近忧。
近期总有忧心一些有的没有,非常小概率,几乎不可能发生的事情。
遇到问题都要解决,但不是所以想到的事情都即时有解,恐惧变焦虑,徒增精神内耗,浪费心智带宽。 遇事解决之道,可以找人聊,但这个效率低,现在大家都有各自的事情,而且并非所有人都有兴趣,也意愿,有能力与你探讨。找书本是最好的途径,以前是一个人跑到书店,一待一上午,顺手翻翻也长见识,现在连门都可以不出了,手机里就是好几座图书馆——阅读是最好的“避难所”,有一本好书在旁,便不觉得等待是在浪费时间了。
读了一些书,发现焦虑高敏感人群还挺普遍,尤其是当下这个快节奏的生活。杞人忧天,灾难性思维者众——无它,唯有自渡。 把能想到的问题恐惧程度分级是一个有意思的做法。比如80-100,就是特别严重,比如重疾,像蔡磊渐冻症这样的不治之症,或者人生安全。60-80是重大的财务损失。其余的事情,应该都在60往下。99%的事情,即不会发生,且就算发生,也在0-20之间,就是完全可以轻松应对。
人生在世,体验而已,允许一切发生。 超越底线思维,向上求,提升自己应对不确定性的能力才是王道。
远虑,就是看未来的趋势与机会。
经济换档,技术革命还有人口减少。
技术革命是我们能够参与的,技术会颠覆很多东西,尤其是金融业,所以我们做AI量化,这个风口一定会来。
|