2023 年 2 月¶
Typora 设置默认代码语言
在 Typora 中可以插入代码块,但每次都需要手动添加语言。若经常需要插入同一种语言的代码块,可以借助第三方的快捷键工具 AutoHotkey,自动设置代码块的语言,提高工作效率。
检验样本分布的正态性
在对数据进行处理前,有时需要判断数据是否呈正态分布。本文介绍了定量检验正态性的两种方法:Shapiro-Wilk test 和距离熵。
Shapiro-Wilk 检验正态性
VS Code 代码片段
许多常用的代码片段是重复、通用的,将它们记录并整理起来,在需要时可以方便地调用,可以大幅提高编码效率。
VS Code 代码片段功能是一个非常好用的功能,在保存代码片段后,只需输入几个前缀,即可自动生成代码片段。
利用 snippet-generator 这个工具自动生成代码片段,可以让整理代码片段的过程更高效!
LightGBM 的用法
LightGBM 是一种基于决策树的梯度提升机(GBM)算法,它是一种快速、准确的机器学习算法,可以用于分类和回归问题。
本文介绍了 LightGBM 的使用方法和代码示例,并记录了自定义损失函数、打印训练过程、迭代次数参数等问题的解决方法。
每月底买入行业内 PB 较低的股票:一个简单的选股策略回测
本文回顾了量化投资策略设计与分析课程的一次课前练习。本练习给定的数据都比较整洁、规范,选股逻辑也比较简单清晰,是一个很好的实现选股回测的练习机会。
策略描述
策略描述
请把给定的股票数据,根据行业分类(申万一级行业),分别对每一行业的股票按 PB 由低到高分为 5 组,每月第一个交易日买入那些上月 PB 处于所在行业排名最低 20% 分位组(即 PB 由低到高排序的第一组)的股票,持有 1 个月,每月换仓一次,计算该投资组合的持仓年化收益率和夏普比率,并画出累计净值曲线。
舆情因子和 BERT 情感分类模型
本文总结了研报 舆情因子和 BERT 情感分类模型 - 华泰证券 的主要内容。
思路与框架
- 基于 Wind 金融新闻数据,提取其中的情感正负面标签,构建日频的新闻舆情因子。
- 使用回归法、IC 值分析法和分层测试法,检验新闻舆情因子。
- 基于已有情感标注的 Wind 金融新闻数据,测试 BERT 模型在金融情感分类任务的表现。
使用 pdb
调试代码
pdb
是 Python 内置的一个调试库,为 Python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。
常用的 pdb
命令
Python 自动合并 PDF 文件
问题与需求
合并 PDF 文件是常用的操作,如果手动合并的话可以使用 Adobe Acrobat 这类专业软件,只要点点鼠标即可完成合并。
如果经常需要合并同样的文件(例如经常更新的中英文简历),可以使用 PyPDF2 包,几行代码即可实现自动合并 PDF 的功能。
代码实现
Python 中的赋值与深浅拷贝
Python 中的赋值只是引用了对象,当原变量发生改变时,新变量也会随之发生改变。
.copy()
方法可以进行浅拷贝,它可以深拷贝父对象(一级目录),但子对象(二级目录)仍然只是引用。
.deepcopy()
方法可以进行深拷贝,它可以深拷贝父对象(一级目录)和子对象(二级目录),当原变量改变时,深拷贝得到的变量不会发生任何改变。
Black 格式化 Python 代码
用 Black 自动格式化 Python 代码,编写规范、美观的 Python 代码,让阅读代码变成一种享受。
本文记录了在 VS Code 中安装 Black 时遇到的问题和解决方案。
VS Code 加载 Web 视图时出错的解决方案
报错原因
在保存一个大型jupyter notebook
文件时,自己突然关闭了标签页。再打开它时,VS Code 就报错:
加载 Web 视图时出错: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state..
并且也不能打开其他任何jupyter notebook
文件,推测是 VS Code 程序出了问题。
解决方案
我自己曾经遇到过两次这个报错,第一次是在个人电脑 Windows 系统上,第二次是在 Linux 服务器上。下面分别介绍针对这两个系统的解决方案。
\(\LaTeX\) 设置字体时指定字体文件目录
问题与需求
在编写多个\(\TeX\)文档时,我们可能会同时导入相同的外部字体文件。
通常的做法是,将字体文件放在与当前文档所在的同级目录。
$ tree
.
|-- tex_1
| |-- font.TTF
| |-- tex_1.pdf
| `-- tex_1.tex
`-- tex_2
|-- font.TTF
|-- tex_2.pdf
`-- tex_2.tex
这样的做法会使得font.TTF
同时存在于tex_1.tex
和tex_2.tex
两个文档所在的目录下,而同一份字体文件是没有必要存两遍的。我们希望能将font.TTF
存在一个公共目录,使得tex_1.tex
和tex_2.tex
都可以导入其中的字体。