WorldQuant 101函数
单序列滑动窗口计算,pandas的Series都是支持的,而且计算效率还不错。——Qlib的命名体系与WorldQuant 101不尽相同,我们后续以WorldQuant为准。
import numpy as np
import pandas as pd
from .expr_utils import calc_by_symbol, calc_by_date
@calc_by_symbol
def delay(se: pd.Series, periods=5):
return se.shift(periods=periods)
@calc_by_symbol
def delta(se: pd.Series, periods=20):
se_result = se - se.shift(periods=periods)
return se_result
@calc_by_symbol
def sign(se: pd.Series):
return np.sign(se)
@calc_by_symbol
def ts_min(se: pd.Series, periods=5):
return se.rolling(periods=periods).min()
@calc_by_symbol def ts_max(se: pd.Series, periods=5): return se.rolling(periods=periods).max() @calc_by_symbol def ts_argmin(se: pd.Series, periods=5): return se.rolling(periods=periods).argmin() @calc_by_symbol def ts_argmax(se: pd.Series, periods=5): return se.rolling(periods=periods).argmax() @calc_by_symbol def stddev(se, periods=5): return se.rolling(periods=periods).std()
量化平台开发
给大家看一个量化投资策略开发的界面,还需要一点时间。
从技术上讲,这是纯粹使用bootstrap+jquery开发出来的。
当然jquery直接操作dom有一个缺点,就是如果策略加载要生成界面,同样也操作一轮dom。而vue的双向绑定在这里就会显得特别方便。
我用vue实现了交互逻辑的规则配置界面——vue直接以cdn的模式接入,还是比较舒服的,尤其是数据驱动的应用。
{% verbatim %} <div id="app"> <table class="table"> <tr> <td>因子</td> <td>运算符</td> <td>值</td> </tr> <tr v-for="(item, index) in items" :key="item.ruleName"> <td>{{ item.ruleName }}</td> <td> <select class="form-control" v-model="item.ops"> <option>大于</option> <option>等于</option> <option>小于</option> </select> </td> <td><input class="form-control" type="text" v-model="item.value" /></td> <td><button class="btn btn-danger" @click="remove($event, index)">删除</button></td> </tr> </table> </div> {% endverbatim %} <script type="module"> import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js' createApp({ setup() { const message = ref('Hello Vue!') const items = ref([ { ruleName: '收益率(20)', ops:'大于', value:0.08 }, { ruleName: '斜率(20)', ops:'大于', value:0 } ]); // 定义一个本地变量来存储当前要删除的项的索引 let removeIndex = ref(-1); function remove(event, index) { // 从items数组中移除指定索引的项 items.value.splice(index, 1); } return { message, items, remove } } }).mount('#app') </script>
吾日三省吾身
昨天在后台收到一个星友的来信,挺感动的。
应该是一个前外企的大哥(听起来应该比我大)。说一直关注公众号,希望通过这些文章,学习量化投资,建立自己的“ABCZ体系。人生计划之”ABCZ”
有时候,这一章节就像碎碎念,记录我自己当下,或者这段时间,对于投资,职场,人生的一些思考。有时候甚至带有情绪,但贵在真实。
有时候,对一些朋友有一些启发和共鸣,那就再好不过了。
我相信一点,写内容也好,做产品和技术也罢。单纯追热点,也许会带来一时的流量,但很累,没有价值感,长期意义也有限。
而是在自己喜欢且擅长的领域,有对社会真正有长期价值的事情去做。
昨天和一个朋友吃饭聊天。
聊起校园过往,恰同学少年,风华正茂。
感慨之余,似乎我们都“成熟”了。——我说,我们只是认清了——大家都是普通人的事实。
当然,并没有躺平。——从“我命由我不由天”到“我命由我也由天”。
在大势面前,个人的努力微不足道。
学校都开始组织二十年返校活动,明年就大学毕业二十年了。
人生有几个二十年呢?
下一个大势是什么?
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103413
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!