自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 资源 (1)
  • 收藏
  • 关注

原创 机器学习在信贷风控建模中的优势和挑战

目前该方法应用于页面埋点动作的特征提取,将点击和浏览动作看作词,用户完整周期内的所有动作行为组成了段落和文章,再使用 word2vec 方法,将用户的点击浏览行为隐含表征为一定维度的向量,再将向量作为用户的特征输入 xgboost 进行建模,单个特征有 1-2 个 ks 点的提升,效果还是不错的。2)数万维的特征,数十万参数的模型。互联网金融中资质较差的客群基本没有资质数据以及合规的信贷数据, 虽然有一定的消费数据但是该类数据大多掌握在巨头电商平台手中,所以所能获取到的就是开放度高的互联网行为类数据。

2026-09-11 19:55:12 241

原创 信贷业务风控策略简介

仅供自己学习使用~但是,数据是有限的,成本很高,会限制风控的上限;同时,如何有效的结合数据、规则、模型,来实现业务目标,这就需要风控策略来完成。本篇文章,将介绍如何在信贷业务中利用数据、规则、模型等完善风控策略,包括原有风控流程及规则优化、定价策略、额度策略等内容。

2026-09-11 19:37:38 175

原创 行研高质量学习资料+面试资料

附百度网盘链接gj89xtMQ…MTI5OTY3ODE0Ny4xNzg3OTg4NjEyczE3ODc5ODg2MTAkbzEkZzAkdDE3ODc5ODg2MTAkajYwJGwwJGgw。

2026-09-02 15:32:57 223

原创 历史公认有效的因子和回测结果-固定因子系数

因子是会衰减的,而这里设死了若干个因子和对应权重,在长时间窗口去回测其实是不太合理的,所以在长时间窗口下,回测结果不太理想也是合理的。更好的方案是根据不同市场情况或因子拥挤度,去选择不同的加权系数或因子。市值中性化必须做,否则所有因子都是 Size Proxy(伪市值因子)历史公认/统计有效的因子。

2026-08-24 05:25:29 266

原创 简洁版-定时触发双分支全链路闭环体系-量化因子建模和简化链路

纯自己思考,如有不足,请谅解。

2026-08-24 04:52:37 189

原创 定时触发双分支全链路闭环体系-量化因子建模和简化链路

纯自己思考,如有不足,请谅解。

2026-08-24 04:38:35 330

原创 行业研究学习路线

财务基础知识,会计,经济学,衍生产品的定价,证券投资类课程(基本功),多读书,多思考多总结,ppt,数据处理,文字表达,表述展示;关注细节,实践,职业规划。这个用来 看总量分析和科技专场里的通信,看ai后续怎么投,宏观类,通信研究。如何快速了解一个行业-pdf下载。主要是微信读书和书籍和工具。用来系统学习行研框架。

2026-08-23 18:08:20 175

原创 跨交易所价差套利匹配算法

注:ex1 既出现在 bids 又出现在 asks,但跨所套利要求"买、卖在不同交易所",故本表只列出净值严格为正、(买,卖)跨所的配对。遍历所有 (bid 交易所, ask 交易所) 组合,排除同所,计算扣费后单位利润,取利润 > 0 的,并按单位利润降序排列。的套利机会(且必须跨交易所,同一交易所自我对冲无意义)。)为费率,套利单边各付一次,故买方加费、卖方扣费。说明:key 中的手续费(如。

2026-08-14 09:25:21 352

原创 基于全频段量价特征的选股模型-分析

股票池全 A、剔除 ST/停牌/涨停次日,周频调仓、不计费用,因子做 20 日均值、去极值、行业市值中性化、标准化,用 IC 分析与 5 层(最终 10 层)测试,保留表现好且两两相关性低的因子。:量价因子与基本面因子相关性低,可显著提升全频段因子的横截面区分度(研报本身已证明低相关信息融合的好处,扩展到基本面同理),同时增强可解释性——基本面逻辑清晰,便于归因与风控。:在低频 GRU 输入外,拼接估值(PE/PB)、盈利增速、分析师一致预期等基本面序列,或做"特征级融合"的多输入通道。

2026-08-14 09:23:32 316 1

原创 量化学习与练习

2016-01-01 ~ 2022-12-31(7 年,1703 个交易日)|

2026-08-14 08:47:15 384

原创 金融计量学的学习路线

为快速学习,建议看1或3遍中国大学mooc课程,结合ppt加固记忆,再结合速通版的讲义/视频,再加深对内容的理解和框架的记忆,有时间可看B站详细版,深入理解公式。

2026-08-11 00:12:52 153

原创 通信行业分析

新旧引擎切换下的杠铃配置​​:通信行业正处于"旧引擎熄火、新引擎点火"的结构性切换期。传统电信业务收入增速降至冰点,运营商资本开支总量收缩约9-10%,但算力网络投资逆势增长62.4%、光模块产业链量价齐升、卫星互联网进入高频组网期。

2026-08-06 09:57:14 557 1

原创 量化基本知识与教程

​B站系列视频为:34.9.2 股市投资第一步-Python基本面量化选股_量化选股–营收因子选_哔哩哔哩_bilibili如果是为了快速学习,已略熟悉python,推荐直接阅读下面内容,比看视频快些~​量化交易核心概念补充知识Sharpe比:投资的“性价比”。数值越高,说明在承担相同风险的情况下,获得的回报越好CAPM:把“风险”变成一个数字(β),然后算出“为了承担这个风险,至少该赚多少”。简单理解:根据历史数据,大盘涨1%,这家公司股票涨1.5%,那么β就为1.5数据获取数据清洗策略编写策略回测策

2026-08-03 13:15:52 376

原创 vn.py 量化交易框架实践指南:从安装配置到 CTA 策略回测

github主页:https://github.com/vnpy/vnpy官方文档:https://www.vnpy.com/docs/cn/index.html官方论坛:https://www.vnpy.com/forum/ 常见问题可以在这里搜。

2026-08-01 16:47:04 237

原创 hot100所有题目的python实现

当遇到在数组中查找指定元素是否存在的问题时,可以考虑构建哈希表,建表时间复杂度 O(n),查表时间复杂度 O(1)。# 原数组# 建表# 查表滑动窗口的题需要满足单调性,先观察题目找到一个“窗口”,然后使用两个指针表示出来,再开始不断开始滑动,根据条件进行判断。

2026-08-01 14:06:17 171

原创 day 36 贪心算法 part05● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

假设b区间左端点b[0]小于等于a区间右端点a[1],有两种情况:1、a[1]<b[1],那么合并区间选择b[1]。2、a[1]>b[1],就选a[1],而合并区间左端点始终选择a[0];就是取 区间1 和 区间2 右边界的最小值,因为这个最小值之前的部分一定是 区间1 和区间2 的重合部分,如果这个最小值也触达到区间3,那么说明 区间 1,2,3都是重合的。假设a[1]>b[0],如果a[1]>b[1],就应该以b[1]为准,否则以a[1]为准。接下来就是找大于区间1结束位置的区间,是从区间4开始。

2024-03-27 22:35:05 955

原创 day35 贪心算法 part04● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球

使用vector是非常费时的,C++中vector(可以理解是一个动态数组,底层是普通数组实现的)如果插入元素大于预先普通数组大小,vector底部会有一个扩容的操作,即申请两倍于原先普通数组的大小,然后把数据拷贝到另一个更大的数组上。如果把气球排序之后,从前到后遍历气球,被射过的气球仅仅跳过就行了,没有必要让气球数组remove气球,只要记录一下箭的数量就可以了。一遍过,就是有10的时候尽量把10用掉,20是用不掉的,如果发现不够找回了,就return。不知道怎么遍历符合条件的气球,射掉后怎么删掉气球。

2024-03-27 20:27:34 801

原创 day34 第八章 贪心算法 part03● 1005.K次取反后最大化的数组和 ● 134. 加油站● 135. 分发糖果

那么又是一个贪心:局部最优:只找数值最小的正整数进行反转,当前数值和可以达到最大(例如正整数数组{5, 3, 1},反转1 得到-1 比 反转5得到的-5 大多了),全局最优:整个 数组和 达到最大。情况二:rest[i] = gas[i]-cost[i]为一天剩下的油,i从0开始计算累加到最后一站,如果累加没有出现负数,说明从0出发,油就没有断过,那么0就是起点。此时局部最优:只要右边评分比左边大,右边的孩子就多一个糖果,全局最优:相邻的孩子中,评分高的右孩子获得比左边孩子更多的糖果。

2024-03-21 14:06:24 647

原创 day32 第八章 贪心算法 part02● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

如果一开始第二个元素比第一个元素小,就选择第二个元素开始,这样买入价低,反之则是加上第二个元素和第一个元素的差价,并从第二个元素开始,比较第三个元素和第二个元素的相对大小关系。,即:移动下标只要遇到当前覆盖最远距离的下标,直接步数加一,不考虑是不是终点的情况。相当于(prices[3] - prices[2]) + (prices[2] - prices[1]) + (prices[1] - prices[0])。贪心的思路,局部最优:当前可移动距离尽可能多走,如果还没到终点,步数再加一。

2024-03-14 13:18:39 1046

原创 day31 第八章 贪心算法 part01● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

。贪心合理性证明:数学归纳法和反证法。。一遍过。就是小的胃口用尽量小的饼干填饱。题解:大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。然后从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计满足小孩数量。一遍过。一开始分为两个方向,递增或递减,两种情况取更大值。假设一开始递增,那么假设第二个比第一个大,那么就摆动序列长度目前为2,假如第三个比第二个大,那么序列的末尾更新为第三个元素,这样下次选递减数的范围会变大。

2024-03-13 22:10:09 1219

原创 day57 动态规划part17● 647. 回文子串 ● 516.最长回文子序列● 动态规划总结篇

布尔类型的dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。如果大家做了很多这种子序列相关的题目,在定义dp数组的时候 很自然就会想题目求什么,我们就如何定义dp数组。当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况。所以i要反过来遍历,j是从左到右遍历。

2024-03-13 19:58:06 510

原创 day56 动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇

word2[j - 1]),此时就需要编辑了,如何编辑呢?操作一:word1增加一个元素,使其word1[i - 1]与word2[j - 1]相同,那么就是以下标i-2为结尾的word1 与 i-1为结尾的word2的最近编辑距离 加上一个增加元素的操作。即 dp[i][j] = dp[i - 1][j] + 1;

2024-03-13 16:55:12 1069

原创 day 55 动态规划part15● 392.判断子序列 ● 115.不同的子序列

当s[i - 1] 与 t[j - 1]不相等时,dp[i][j]只有一部分组成,不用s[i - 1]来匹配(就是模拟在s中删除这个元素),即:dp[i - 1][j]例如: s:bagg 和 t:bag ,s[3] 和 t[2]是相同的,但是字符串s也可以不用s[3]来匹配,即用s[0]s[1]s[2]组成的bag。所以当s[i - 1] 与 t[j - 1]相等时,dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];

2024-03-13 15:47:48 1020

原创 day53 动态规划part14● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划

如果text1[i - 1] 与 text2[j - 1]不相同,那就看看text1[0, i - 2]与text2[0, j - 1]的最长公共子序列 和 text1[0, i - 1]与text2[0, j - 2]的最长公共子序列,取最大的。如果text1[i - 1] 与 text2[j - 1]相同,那么找到了一个公共元素,所以dp[i][j] = dp[i - 1][j - 1] + 1;即:dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);

2024-03-12 23:23:05 445

原创 day52 动态规划part13● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

考虑到一般动态规划的写法是n方,为了降低复杂度,考虑每次假如选择当前数dp[i]对应最长的序列,就找前面上一个数(已经做递推的时候记录了上一个数的比他小的一个数,因为等于上一个比他小的数的序列长度(已经最大)加1,所以不一定是离当前数的比他小的最近的数)题解其实是一般的n方动态规划写法。一遍过因为本题要求连续递增子序列,所以就只要比较nums[i]与nums[i - 1],而不用去比较nums[j]与nums[i] (j是在0到i之间遍历)。

2024-03-11 16:14:24 449

原创 day51 动态规划part12 ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ●总结

一遍过,只是多了手续费。

2024-03-10 21:54:02 581

原创 day 50 第九章 动态规划part11● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV

现在最大的时候一定是卖出的状态,而两次卖出的状态现金最大一定是最后一次卖出。如果想不明白的录友也可以这么理解:如果第一次卖出已经是最大值了,那么我们可以在当天立刻买入再立刻卖出。所以dp[4][4]已经包含了dp[4][2]的情况。也就是说第二次卖出手里所剩的钱一定是最多的。我自己的代码修改后了结果,调试发现是初始化的问题,少了dp[0][0][2]=-prices[0];写了个不对的版本,转移方程写对了,但初始化有问题。这边就是上一题的一般版本。其实可以设为五个状态,

2024-03-10 18:14:25 510

原创 day 49 动态规划 part 10● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II

中,因为股票全程只能买卖一次,所以如果买入股票,那么第i天持有股票即dp[i][0]一定就是 -prices[i]。而本题,因为一只股票可以买卖多次,所以当第i天买入股票的时候,所持有的现金可能有之前买卖过的利润。那么第i天持有股票即dp[i][0],如果是第i天买入股票,所得现金就是昨天不持有股票的所得现金 减去 今天的股票价格 即:dp[i - 1][1] - prices[i]。第三种动态规划:因为只和前一个状态有关,所以可以用滚动数组实现。看了题解,第一种暴力,两个for循环。

2024-03-10 14:22:32 446

原创 day48 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

如果偷第i房间,那么dp[i] = dp[i - 2] + nums[i] ,即:第i-1房一定是不考虑的,找出 下标i-2(包括i-2)以内的房屋,最多可以偷窃的金额为dp[i-2] 加上第i房间偷到的钱。首尾元素大概知道要分为是否考虑末尾元素,考虑了末尾元素的情况对应选取第二个到最后一个元素,没有题解方法清晰。然后dp[i]取最大值,即dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);如果不偷第i房间,那么dp[i] = dp[i - 1],即考 虑i-1房,(

2024-02-29 15:15:14 564

原创 day 46 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!

和以上在循环遍历上有所不同,因为是分拆为各个包最后可以组成一个完整背包,具体原理我就不做过多解释了,大家了解一下就行,面试的话基本不会考完这个深度了,感兴趣可以自己深入研究一波。多重背包在面试中基本不会出现,力扣上也没有对应的题目,大家对多重背包的掌握程度知道它是一种01背包,并能在01背包的基础上写出对应代码就可以了。至于背包九讲里面还有混合背包,二维费用背包,分组背包等等这些,大家感兴趣可以自己去学习学习,这里也不做介绍了,面试也不会考。原本这样写的,不熟悉字符串的接口,编译不通过。

2024-02-29 13:20:54 474

原创 day 45 ● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数

dp数组如果初始化为INT_MAX,+1的时候就要跳过这些为最大值的了。

2024-02-28 23:00:13 552 1

原创 day44 ● 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

C++测试用例有两个数相加超过int的数据,所以需要在if里加上dp[i] < INT_MAX - dp[i - num]。因为dp[j] 是根据 下标j之前所对应的dp[j]计算出来的。只要保证下标j之前的dp[j]都是经过计算的就可以了。那么就是先把1加入计算,然后再把5加入计算,得到的方法数量只有{1, 5}这种情况。而不会出现{5, 1}的情况。背包容量的每一个值,都是经过 1 和 5 的计算,包含了{1, 5} 和 {5, 1}两种情况。假设:coins[0] = 1,coins[1] = 5。

2024-02-27 17:26:06 458

原创 day43 ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零

要转化为0和1背包,其实是可以转化为分割等和子集。看了题解后发现其实不会出现堆内相消,而且尽量装满总重量一半,代表另外一堆和本堆数值最接近,差值最小。假设一堆left为x,总量计算为sum,那么另一堆right为sum-x。即x-(sum-x)=target,x=(target+sum)/2.转为dp[x]有多少种方法可以装满。数组里对于dp[x][y]代表x个0,y个1的最大长度,当前元素是选或不选,不选的话就是上一次的状态,选的话就是dp[x-当前元素0个数][y-当前元素1个数]+1。

2024-02-27 15:36:07 417

原创 day 42 ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

上面题目改为用滚动数组解决。dp[i][j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。状态转移方程:dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);那么很明显当 j < weight[0]的时候,dp[0][j] 应该是 0,因为背包容量比编号0的物品重量还小。但是不太好写成动态规划。dp[0][j],即:i为0,存放编号0的物品的时候,各个容量的背包所能存放的最大价值。

2024-02-26 14:11:31 479

原创 day41 动态规划part03 343. 整数拆分 96.不同的二叉搜索树

看了题解后,递推关系是dp[i]+=dp[j-1]*dp[i-j],即对每个节点j作为头结点遍历,i个节点的种类数+=左子树j-1个元素的种类*右子树i-j个元素种类数,这样不会有重叠。拆分为两个数的乘积,或者更多数的乘积,即j*(i-j)或者dp[i-j]*j,至于为什么j不拆成dp[j],因为i和j对称的,有一个就行了。贪心算法要利用结论:本题也可以用贪心,每次拆成n个3,如果剩下是4,则保留4,然后相乘,所以重点是要得到子结构,并且递推的时候要好处理。

2024-02-25 19:49:38 565

原创 day39 动态规划part02 ● 62.不同路径 ● 63. 不同路径 II

可以转化为m+n-2中选取m-1或者n-1的组合数,要注意不要溢出。如果第一行的中间有1,第一行的1后面也无法达到。注意可以滚动数组,节省使用的空间。

2024-02-01 08:32:08 463

原创 day38 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

可以由前面状态推出后面状态,是动态规划。由于始终只要后面两个数,得出新的数。所以不需要数组保存,而是用O(1)的空间就可以了。我定义dp[i]为取当前代价条件下最小代价,为了能到顶部,所以cost后面加一个0,表示顶端。动态规划是前一个状态推导过来的,贪心是局部最优解。

2024-01-31 22:40:32 433

原创 day60 84.柱状图中最大的矩形

通过找到每个柱子的左边的小于该柱子高度的第一个柱子下标(动态规划,如果左侧第一个柱子高度大于当前柱子高度,就转为求左侧第一个柱子左侧小于左侧第一个柱子高度的柱子下标),右边类似。暴力是n的平方复杂度。以每个柱子的高度为基准,找到延伸到两边最远的距离,计算距离,计算出所有情况中最大值。

2024-01-30 02:46:05 531

原创 day 59 503.下一个更大元素II 42. 接雨水

按照列计算,这样只要计算高度。有多种解法,首先是双指针解法,对于每个位置,遍历最右边和最左边最高高度,找到两者最小值-本列高度,就能得到当前装的雨水高度。更进一步是,每列的左侧最高高度转为左边一列的左侧最高高度和左侧一列的高度最大值,右侧类似,减少重复计算。要用单调增的单调栈,如果新加的元素比栈头大,栈头就是底部,栈头左边是最近的比他高的左边柱子。一次wa是因为stack弹出元素后要取栈顶元素之有特判stack是否为空。栈里保存下表,通过长*宽算雨水体积。可以模拟走了两遍数组。单调栈解法:是按行做。

2024-01-29 22:45:59 480

原创 day 58 单调栈 part01 739. 每日温度 496.下一个更大元素 I

单调栈存放的是下标。只有单调栈递增(从栈口到栈底顺序),就是求右边第一个比自己大的,单调栈递减的话,就是求右边第一个比自己小的。需要用unordered_map得到一个字典。单调栈经典题目,看了题解。

2024-01-29 16:39:36 445

八位二进制转三位十进制.ms14

电子课程设计自己实现成功运行得了A,1、设计 4 位 ALU ,可实现 8 种算术逻辑运算,要写出设计过程,卡诺图表达式。(最低要求2种算术运算和两种逻辑运算90分) a.进行两个四位二进制数的运算。 b.算术运算: A+B,A-B,A+1,A-1。 c.逻辑运算: A and B,A or B,A not, A xor B。 2、4 位输入 A3—A0、B3---B0 用开关设置输入。 3、8种算术逻辑运算通过 3 位功能选择开关选择某一种功能。 4、运算结果用两个数码管显示和 2 个发光管或探针显示(有一个显示进借位、有一个显示溢出)。 设计结构:每个逻辑功能可用一个子电路实现。 设计分为输入控制模块、输出选择模块、加减运算模块及逻辑运算模块等部分。 在输入控制部分,利用锁存器,使 A和 B信号通过脉冲控制同时送入运算电路。 在输出控制模块,选择需要输出的显示信号。 加减运算电路实现加减运算功能。逻辑运算电路实现逻辑运算功能。(不能用如74181之类的运算器集成电路,用最简单的与门非门、锁存器等逻辑门集成电路设计)

2021-08-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除