暂无搜索历史
不少回测代码会这样处理涨停:当天收益率大于等于10%,就认为股票无法买入。写起来很省事,但这个判断既可能漏掉真正的涨停,也可能把本来有成交机会的股票直接过滤掉。
最近整理一段旧回测代码时,我发现同一份收盘价数据,换了 pandas 版本后,收益率序列里多出了一批 NaN。最初以为是行情文件损坏,沿着日期查下去才发现,这些...
整理股票实时监控方案时,我习惯先画数据流,而不是先比较软件。完整链路至少包含行情输入、条件计算、策略状态和交易反馈。只在屏幕上显示最新价,属于实时行情;系统能持...
把同一段日收益率分别交给 pandas 和 NumPy,有时会得到两套波动率。数组没有变、窗口也一样,差异通常不是浮点误差,而是自由度参数 ddof 的默认值不...
量化数据刚开始积累时,一个 `daily.parquet` 往往就够用。等年份、品种和字段越来越多,每次为了回测一个月的数据仍然把整张表读进内存,速度和内存占用...
一个常见情况是,盘中价格已经越过预设位置,用户过了十几分钟才看到提醒。复盘这类场景会发现,问题未必在判断本身,而在执行链路太长:先看行情,再核对持仓,随后打开交...
做横截面选股时,经常会用“因子排名前 20%”作为入选条件。样本足够大时,分位点的算法差异不明显;但股票数量较少、因子值重复较多,或者滚动窗口刚启动时,同样的 ...
复核策略里的 EMA 时,最容易出现的情况是:周期都写着 20,结果却和行情软件、另一套回测代码对不上。问题往往不在公式本身,而是计算口径没有写清楚。panda...
做高频收益统计或蒙特卡洛模拟时,单个收益率可能很小。常见写法是先算 np.log(1 + r),把对数收益相加,再用 np.exp(x) - 1 还原累计收益。...
不少回测都会用到随机数,比如打乱样本、Bootstrap 重采样、蒙特卡洛路径,或者给参数搜索生成候选组合。单进程里固定 seed 通常能复现实验;换成多进程后...
收盘后更新行情的任务平时十分钟结束,有一天接口变慢跑了半个多小时。下一次调度到点后又启动一份,两边同时写数据库,最后出现重复记录。我原来以为“每天16:10执行...
同一份策略、同一段日期,昨天跑出的收益曲线和今天不一样,排查起来很费时间。代码提交记录没有变化,参数也相同,最后才发现行情文件被重新下载过:有几行停牌数据被补齐...
做量化模型验证时,我习惯先把每一折数据画成时间轴,而不是先看准确率。原因很简单:表格里的训练集和验证集即使没有日期重叠,也不代表信息完全隔离。只要特征使用了滚动...
我们刚接触网格交易时,很容易把程序理解成两句判断:价格跌一格就买,涨一格就卖。实际整理策略时会发现,触发条件只是最外层,真正影响结果的是系统能否记住当前状态。基...
回测里有一种错误很难从收益曲线上看出来:行情表和因子表合并后,行数悄悄增加了。常见原因不是 merge 本身,而是右表的股票代码和交易日并不唯一。同一只股票同一...
新手第一次写量化策略,常见起点是一句话:价格跌下来就买,涨上去就卖。人能理解这句话,程序却无法执行,因为“跌下来”“涨上去”都没有明确边界。与其先找软件,不如先...
做月度调仓回测时,一个隐蔽错误是:先用月末市值算权重,再乘这个月从月初到月末的收益。结果看上去像标准的市值加权组合,实际上月末市值已经包含整个月的价格变化,相当...
做滚动波动率时,很多代码只有一行:先算收益率,再调用 rolling(20).std()。窗口写了 20,看起来就是“最近 20 个交易日”,但序列里只要有停牌...
做因子分层回测时,常见写法是按交易日把股票等分成十组,再观察各组收益是否单调。代码看起来很简单:`pd.qcut(factor, 10)`。但如果因子里有大量重...
做横截面选股时,因子标准化看起来只是减均值、除标准差,但分组维度如果写错,回测会悄悄混入不该出现的信息。最常见的问题是对整段历史一次性算均值和标准差。这样既把不...
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市