自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (5)
  • 收藏
  • 关注

原创 WhaleQuant第七章——量化回测

本节介绍了一个简化的量化回测框架,称为“傻瓜式量化回测框架”。本节提供了一个双均线策略的Backtrader实现,并详细描述了如何在该框架中添加数据、设置策略、运行回测并分析结果。本节通过一个具体的双均线策略示例,展示了如何在聚宽平台上实现策略并进行回测,以及如何分析回测结果。本节介绍了如何使用Python的pandas库来计算量化策略的关键评估指标,如年化收益率、波动率和最大回撤。本节介绍了如何在BigQuant上实现双均线策略,包括策略的初始化、数据处理、交易逻辑和回测结果的分析。

2024-02-04 15:07:35 639

原创 WhaleQuant第六章——量化调仓策略

【代码】WhaleQuant第六章——量化调仓策略。

2024-02-01 11:33:45 775

原创 WhaleQuant第五章——量化择时策略

基本概念:MACD(Moving Average Convergence Divergence,移动平均收敛发散指标)是一种动量指标,它通过计算两个不同周期的指数平滑移动平均线(EMA)之间的差值来衡量市场动能。买入信号:当短期均线从下方穿过长期均线时,这通常被视为一个买入信号,表明短期趋势可能超过长期趋势,市场可能进入上升趋势。卖出信号:相反,当短期均线从上方穿过长期均线时,这被视为一个卖出信号,表明短期趋势可能减弱,市场可能进入下降趋势。假信号:在震荡市场中,双均线可能会产生许多误导性的交易信号。

2024-01-29 20:15:24 874

原创 WhaleQuant第四章——量化选股策略

但这段代码缺少data数据。

2024-01-27 20:31:42 955

原创 WhaleQuant第三章——股票数据获取

【代码】WhaleQuant第三章——股票数据获取。

2024-01-23 22:45:40 428

原创 WhaleQuant第二章——金融市场的基本概念

学习链接

2024-01-20 11:20:29 337

原创 WhaleQuant第一章——投资与量化投资

介绍了量化投资的基本知识,以及基本流程和一些主流的量化公司,并提供相应的量化实测平台。

2024-01-16 22:28:35 379

原创 科研论文配图绘制指南——基于Python—第二章2.seaborn

FacetGrid() 函数可以实现行、列、色调 3 个维度的数值映射,其中,行、列维度与所得的轴阵列有明显的对应关系,色调变量可被视为沿深度轴的第三维,用不同的颜色绘制不同级别的数据。在PairGrid() 函数中,每个行和列都会被分配一个不同的变量,这就导致绘制结果为显示数据集中成对变量间关系的图。这种图也被称为“散点图矩阵”。总共有四种,对应paper、notebook、talk、poster。

2023-08-24 20:25:03 397

原创 科研论文配图绘制指南——基于Python—第二章1.matplotlib

即可完成环境的配置。

2023-08-22 22:09:37 433

原创 科研论文配图绘制指南——基于Python—第一章

主要是一些配色相关的知识,以及配色的工具,暂无实操。

2023-08-17 19:17:14 881

原创 Libra论文阅读笔记-A unified congestion control framework for diverse application

这个混合传统算法和learning算法的框架挺有趣的,并具备了在线评估的特点,但文章代码无开源,有些具体的细节还是不太理解。文章中仍然用到了DRL的内容,这块不是很熟悉,对于如何设计状态空间和动作空间的实验不太清楚。文章提出的这种结合的框架,还是挺新颖的。...

2022-08-31 16:37:24 1935 2

原创 SQL编程 Task05.SQL高级处理

学习链接

2022-06-26 00:24:20 358 1

原创 SQL编程 Task04.集合运算

学习链接解:使用UNION ALL求解解:使用对称差的实现方式求交集,即先求并集,再减去对称差,即可得到交集。注:每个派生出的表都需要有自己的别名!(代码中的u)有一种更简单的方法:解:解:关联子查询:内连结:...

2022-06-25 22:05:07 250

原创 SQL编程 Task03.复杂一点的查询

学习链接执行结果:相关知识:解:解:会发生错误。如下图:原因如下:因为视图的更新最终还是对原表进行更新。若能成功反映到原表上的更新,才是对试图合法的更新。上述更新语句,相当于对原表进行了如下更新:INSERT INTO Product VALUES (NULL, ‘刀子’, NULL, 300, NULL, ‘2009-11-02’);而由于第1、3、4列由于没有赋值,也没有默认值,会自动设为null。而由于第1、3列都有not null约束,因此会发生错误。即如上图报错:表没有默认

2022-06-18 23:05:28 105

原创 SQL编程 Task02.基础查询与排序

教程链接相关知识:解:解:这三句的执行结果都为空。解释如下:无法使用比较运算符来测试 NULL 值,比如 =、< 或 。我们必须使用 IS NULL 和 IS NOT NULL 操作符。因此,上面三个语句都是错误的写法,无法比较与NULL的情况。取出来都为null。如何修改?将表达式换为IS NULL解:相关知识:解:相关知识:解:第一个错误:SUM不能对product_name使用,product_name不是数值列第二个错误:GROUP BY的书写顺序有错,GRO..

2022-06-16 20:21:02 103 2

原创 SQL编程 Task01.环境搭建,初始数据库

教程链接本节完成的任务:安装链接这里安装的是MySQL 8.0.21版本。输入密码后,打印该信息,可看到MySQL的版本。使用 HeidiSQL 连接 MySQL:使用命令行查看一下:表1-A 表 Addressbook (地址簿)中的列CREATE TABLE语句的语法:解:在Navicat中新建一个查询后,输入create table语句,并运行保存。列名 : postal_code数据类型 :定长字符串类型(长度为 8)约束 :不能为 NULL相关知识:解:( ) ta

2022-06-14 20:57:37 242

原创 Leetcode Task04 并查集 990. 等式方程的可满足性 547. 省份数量

目录一、并查集二、990. 等式方程的可满足性三、547. 省份数量一、并查集学习链接二、990. 等式方程的可满足性题目:给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。示例:输入:[“a==b”,“b!=a”]输出

2022-05-29 16:50:18 105

原创 leetcode task03 144.二叉树的前序遍历 0094. 二叉树的中序遍历 0145. 二叉树的后序遍历 102. 二叉树的层序遍历 105.从前序与中序遍历序列构造二叉树

目录一、树与二叉树的基本知识、二叉树的遍历二、0144.二叉树的前序遍历一、树与二叉树的基本知识、二叉树的遍历学习链接二、0144.二叉树的前序遍历题目:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例:输入:root = [1,null,2,3]输出:[1,2,3]思路1:采用递归的方法来实现前序遍历。先遍历根节点,在遍历左子节点,最后遍历右子节点。class Solution: def preorderTraversal(self, root: Opt

2022-05-25 00:13:09 180

原创 leetcode Task02 字符串基础知识 125. 验证回文串 344. 反转字符串 28. 实现 strStr() 796. 旋转字符串 208. 实现 Trie (前缀树)

目录一、字符串基础知识二、125. 验证回文串一、字符串基础知识学习链接字符串匹配:单模式串匹配问题(Single Pattern Matching)多模式串匹配问题(Single Pattern Matching)二、125. 验证回文串...

2022-05-22 00:15:29 1047

原创 leetcode Task01.哈希表 0217. 存在重复元素 0219.存在重复元素II 0349. 两个数组的交集 350. 两个数组的交集 II

目录一、哈希表基础知识二、0217. 存在重复元素三、0349. 两个数组的交集一、哈希表基础知识二、0217. 存在重复元素三、0349. 两个数组的交集

2022-05-17 21:19:39 104

原创 chmod的使用 czy:czy 文件名

问题描述从github clone到Linux中的代码,要运行程序总是需要sudo管理员权限。能否不需要加sudo就可以运行?原因分析:因为clone下来的文件权限不是自己的,需要修改该权限变成主机用户。解决方案:chmod的使用:sudo chown 主机名:主机名 文件名...

2022-04-16 17:00:13 832

原创 How to read a paper?——如何阅读一篇论文?

文章目录一、简介二、Three-pass 方法三、First-pass四、Second-pass五、Third-pass一、简介How to read a paper二、Three-pass 方法First-pass: gives you a general idea about the paper.Second-pass: lets you grasp the paper’s content, but not its details.Third-pass: helps you unde

2022-04-16 16:38:28 895

原创 Copa: Practical Delay-Based Congestion Control for the Internet论文笔记

目录一、摘要二、背景三、Copa基本思路四、Copa在每个ACK到达时的操作五、Copa论文链接一、摘要Copa是一种端到端的拥塞控制算法,采用三个idea组合实现。通过优化一个效用函数(与吞吐量和延迟相关),求得其最优速率为1/δdq1/\delta d_q1/δdq​,将其作为target rate;通过调整拥塞窗口往target rate的方向变化;这两个idea构成了一个delay-based的CC算法,能够实现高吞吐量低延时的目标。但是delay-based的CC算法有一个通病

2022-04-10 18:24:30 2362

原创 Leetcode 0155.最小栈 0844.比较含退格的字符串 0227.基本计算器II

目录0155.最小栈0844.比较含退格的字符串0155.最小栈题目:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。思路:维持多一个mins数组即可实现常数时间内检索到最小元素的栈了。cl.

2022-02-18 21:28:48 6827

原创 Leetcode 0203.移除链表 0021.合并两个有序链表 0160.相交链表 0082. 删除排序链表中的重复元素 II 0083. 删除排序链表中的重复元素

文章目录0203.移除链表0021.合并两个有序链表0160.相交链表0082. 删除排序链表中的重复元素 II0083. 删除排序链表中的重复元素0203.移除链表给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。思路:新建一个哨兵节点,指向头结点head,方便后面返回头结点和删除元素。从头结点head开始遍历,当节点的val值等于所给val时,cur.next=cur.next.nextcur.nex.

2022-02-16 17:03:24 218

原创 Leetcode 0001.两数之和 0027.移除元素 0026.删除有序数组中的重复项 0015.三数之和

目录0001.两数之和0001.两数之和题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。思路1:直接用两层循环暴力求解,算法复杂度为O(n2)O(n^2)O(n2)。第一层循环遍历数组中的所有元素,第二层循环找数组织该元素之后的元素是否等于target−nums[i]target-nums[i]target−nums[i]即可。class Solution: def twoSum.

2022-02-13 13:47:02 291

原创 Leetcode Task05 优先队列 215.数组中的第K个最大元素

目录一、优先队列1.1优先队列的实现方式1.2 二叉堆实现的优先队列1.3使用heapd模块实现优先队列一、优先队列学习链接简介:优先队列(Priority Queue):一种特殊的队列。在优先队列中,元素被赋予优先级,当访问队列元素时,具有最高优先级的元素最先删除。优先队列与普通队列最大的不同点在于 出队顺序。普通队列的出队顺序跟入队顺序相关,符合先进先出(First in, First out)的规则。而优先队列的出队顺序跟入队顺序无关,优先队列是按照元素的优先级来决定出队顺序的。优.

2022-01-23 21:03:11 174

原创 LeetCode Task02 队列与广度优先搜索 622.设计循环队列 463.岛屿的周长 542.01矩阵

目录一、队列基础知识1.1 队列的顺序储存实现1.2循环队列的顺序存储实现二.0622.设计循环队列一、队列基础知识队列基础知识简介:队列(Queue):简称为队,一种线性表数据结构,是一种只允许在表的一端进行插入操作,而在表的另一端进行删除操作的线性表。我们把队列中允许插入的一端称为 队尾(rear);把允许删除的另一端称为 队头(front)。当表中没有任何数据元素时,称之为 空队。队列有两种基本操作:插入操作 和 删除操作。队列的插入操作又称为入队。队列的删除操作又称为出队。.

2022-01-22 00:20:16 179

原创 Leetcode第二期 Task03 单调栈 496.下一个更大的元素 I 739.每日温度

目录一、单调栈1.1单调递增栈1.2单调递减栈1.3单调栈适用场景1.4 代码模板二、496.下一个更大的元素 I三、739.每日温度一、单调栈单调栈简介:单调栈(Monotone Stack):一种特殊的栈。在栈的先进后出规则基础上,要求从 栈顶 到 栈底 的元素是单调递增(或者单调递减)。其中满足从栈顶到栈底的元素是单调递增的栈,叫做单调递增栈。满足从栈顶到栈底的元素是单调递减的栈,叫做单调递减栈。1.1单调递增栈单调递增栈:只有比栈顶元素小的元素才能直接进栈,否则需要先将栈中比当前元素.

2022-01-19 21:17:51 340

原创 Leetcode第二期 Task02 155.最小栈 946.验证栈序列 200.岛屿数量 841.钥匙和房间 1020.飞地的数量

文章目录一、堆栈基础知识1.1堆栈的顺序存储与链式存储二、155.最小栈三、946.验证栈序列四、深度优先搜索4.1基于递归实现的深度优先搜索4.2基于堆栈实现的深度优先搜索一、堆栈基础知识参考链接堆栈(Stack):简称为栈。一种线性表数据结构,是一种只允许在表的一端进行插入和删除操作的线性表。我们把栈中允许插入和删除的一端称为 栈顶(top);另一端则称为 栈底(bottom)。当表中没有任何数据元素时,称之为 空栈。堆栈有两种基本操作:插入操作 和 删除操作。后入先出(LIFO)1.

2022-01-16 22:58:38 181

原创 拥塞控制算法(从Tahoe到PCC Vivace)

文章目录一、TCP Tahoe二、TCP Reno一、TCP Tahoe二、TCP Reno

2022-01-11 12:00:40 2594

原创 Leetcode第二期Task01 链表 707. 设计链表 206.反转链表 203.移除链表 328.奇偶链表 234.回文链表 21.合并两个有序链表 019.删除链表的倒数第 N 个结点

文章目录一、链表基础知识1.1链表定义1.2链表的基本结构和操作1.2.1 建立一个线性链表1.2.2 求线性链表的长度1.2.3 查找元素1.2.4 插入元素1.2.5 链表中间修改、删除元素二、707. 设计链表2.1 题解三、206.反转链表3.1题解四、203.移除链表4.1题解一、链表基础知识参考链接:链表基础知识以下内容参考这该链接。1.1链表定义链表(Linked List):一种线性表数据结构。它使用一组任意的存储单元(可以是连续的,也可以是不连续的),来存储一组具有相同类型的.

2022-01-09 21:54:48 773

原创 Ubuntu运行.sh脚本文件报错:bash: ./your_file_name.sh: /bin/bash^M: 解释器错误: 没有那个文件或目录

文章目录一、运行.sh脚本报错: /bin/bash^M: 解释器错误: 没有那个文件或目录二、总结一、运行.sh脚本报错: /bin/bash^M: 解释器错误: 没有那个文件或目录这个^M是windows下的结尾\r,到linux系统中就变成了 ^M。因为我是把.sh脚本从windows下移动到虚拟机中,导致了这个问题。使用cat -A compare-tcp-algorithms.sh -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;查看脚本文件的内容.-.

2022-01-06 11:46:10 2948

原创 Linux实践 Task03 grep和sed的使用 创建zip、tar和tar.gz压缩文件 使用find和locate定位文件

目录八、使用grep和awk从文件中筛选字符串8.1下载周杰伦歌词文本,并进行解压8.2利用grep命令完成以下操作,并输出到屏幕8.3 利用sed命令完成以下操作,并输出到屏幕九、在目录下创建zip和tar压缩文件,并进行解压9.1 在/home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹中,下载9.2使用zip 压缩/home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹9.3将 /home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹,打.

2021-12-27 11:39:04 1245

原创 Linux实践 Task02 os、sys模块的使用 读取命令行参数 &、nohup后台运行 tmux终端复用

目录五、在目录下创建py文件,并进行运行5.1 学习python下os模块处理文件和目录的函数5.2 学习python下sys模块和传参函数5.3 在home/datawhale目录下,在你英文昵称(中间不要有空格哦)的文件夹中,新建一个test5.py文件,改程序可以使用os、sys模块完成以下功能:六、在目录下创建py目录,并进行import导入6.1 学习python模块化6.2 在/home/datawhale目录下在你英文昵称(中间不要有空格哦)的文件夹中创建affairs文件夹6.3 编写te.

2021-12-20 19:45:46 822

原创 Linux实践 Task01 Termius 创建/删除文件夹 wget下载文件 nano和Vim的初步使用

目录一、使用命令行登录指定的Linux环境——选择一款windows下的ssh工具二、一、使用命令行登录指定的Linux环境——选择一款windows下的ssh工具这边选择Termius,直接安装下载即可。在界面中选择NewHOSTNew HOSTNewHOSTLabel:服务器的名字可以随意填写Address:服务器IP地址Username:服务器用户名Password:服务器密码需要填写的字段的意义如上。然后保存即可。接着选择connect via SSH即可。连接成.

2021-12-12 12:17:36 4065

原创 LeetCode Task04数组双指针、滑动窗口 0344反转字符串 0283移动零 0674最长连续递增序列

目录一、双指针基础内容二、滑动窗口基础知识三、0344反转字符串四、0283移动零五、0674最长连续递增序列一、双指针基础内容双指针基础内容链接二、滑动窗口基础知识滑动窗口基础知识链接三、0344反转字符串题目链接题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“.

2021-11-27 19:05:54 90

原创 LeetCode Task04 数组数组二分查找 0704二分查找 0069Sqrt(x)

文章目录一、0704二分查找一、0704二分查找题目链接题目描述:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4思路:这道题很基础,直接按照二分查找的算法实现即可。设定左右节点为数组两端,即:left=0,righ.

2021-11-24 21:21:23 77

原创 LeetCode Task03 数组排序 45把数组排成最小的数

文章目录一、部分相关知识1.1冒泡排序1.2选择排序1.3插入排序二、剑指offer 45 把数组排成最小的数一、部分相关知识1.1冒泡排序冒泡排序def bubbleSort(arr): for i in range(len(arr)): for j in range(len(arr) - i - 1): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1].

2021-11-21 21:32:28 196

原创 浅拷贝与深拷贝matrix[:] = matrix_new为什么不能是matrix = matrix_new

文章目录1.浅拷贝与深拷贝2.leetcode0048旋转图像中的问题1.浅拷贝与深拷贝Python中的浅拷贝和深拷贝2.leetcode0048旋转图像中的问题问题描述官方给的代码如下:class Solution: def rotate(self, matrix: List[List[int]]) -> None: n = len(matrix) # Python 这里不能 matrix_new = matrix 或 matrix_new =.

2021-11-18 20:26:56 875 4

使用 GAN 生成 MNIST 虚假数据集.pdf

使用 GAN 生成 MNIST 虚假数据集实验报告

2021-08-06

使用 LSTM 进行股票预测.pdf

模式识别作业,使用 LSTM 进行股票预测实验报告,附源码

2021-08-05

使用 PCA 和 FLD 的方法进行人脸识别.pdf

模式识别课程作业,使用 PCA 和 FLD 的方法进行人脸识别实验报告,附源码

2021-08-05

无线通信技术课程论文认知无线电概述4000字.pdf

无线通信技术课程论文3000字

2021-08-05

模式识别作业 CNN_MNIST手写体识别

实验报告,附代码

2021-05-05

空空如也

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

TA关注的人

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