PyConChina2022-深圳-python分析alpha vaults策略-代少飞
Python分析alpha vaults策略 主讲人: 代少飞 – 量化开发 个人简介 主要从事量化开发相关工作 有开发过数字货币交易所 PyconChina2019深圳场有分享(b站有相关视频) 目前从事web3相关工作 免责声明 纯技术交流,不提供任何投资建议 如有侵权,请联系本人,第一时间处理 一、策略介绍 二、部署开发 三、使用说明 四、策略回测 大纲 策略介绍 资金量有一定规模,进出中心化交易所,比较费力 资金量有一定规模,进出中心化交易所,比较费力 第一个上线的 Uniswap v3 LP 策略 Uniswap v3 在 2021 年 5 月 5 日发布后两天,Charm 部署了其第三款 产品:Uniswap v3 LP 操作策略——Alpha Vault,并且已经被证明是非常 成功的产品:利润比 v2 的 LP 高两倍以上! 部署开发 Brownie Brownie is a Python-based Ethereum, inspired by web3.js code https://github.com/charmfinance/alpha-vaults-contracts.git 使用说明 策略回测 结果值 值越大,命中率越高 Alpha Valuts 3.865960084033544 0xae540be685696ea465b12bbdf9e5f44603bb9ab2 7.5367485358894050 码力 | 18 页 | 2.12 MB | 1 年前3Hello 算法 1.1.0 Python版
10.3 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 10.5 重识搜索算法 . . . . 1 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 12.3 构建二叉树问题 . . . 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 hello‑algo0 码力 | 364 页 | 18.42 MB | 1 年前3Hello 算法 1.0.0 Python版
10.3 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 10.5 重识搜索算法 . . . . 1 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 12.3 构建二叉树问题 . . . ,通常在进行 3~5 轮的重复后,就能将其牢记在心。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 hello‑algo0 码力 | 362 页 | 17.54 MB | 1 年前3Hello 算法 1.0.0b5 Python版
10.3 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 10.5 重识搜索算法 . . . . 1 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 12.3 构建二叉树问题 . . . 照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3‑5 轮的重复后,就能将其牢记在心。 3. 搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 得可以在各个社区找到。 如图 0‑7 所示,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。 第 0 章 前言 hello‑algo0 码力 | 361 页 | 30.64 MB | 1 年前3Hello 算法 1.2.0 简体中文 Python 版
10.3 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 10.5 重识搜索算法 . . . . 1 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 12.3 构建二叉树问题 . . . 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 www0 码力 | 364 页 | 18.43 MB | 9 月前3Hello 算法 1.0.0b4 Python版
2. 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 10.3. 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 10.4. 重识搜索算法 . . . 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 12.2. 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 12.3. 构建二叉树问题 . . . 照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3‑5 轮的重复后,就能将其牢记在心。 3. 搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 得可以在各个社区找到。 作为一本入门教程,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。 Figure 0‑7.0 码力 | 329 页 | 27.34 MB | 1 年前3Hello 算法 1.2.0 繁体中文 Python 版
10.3 二分搜尋邊界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 10.4 雜湊最佳化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 10.5 重識搜尋演算法 . . . . 1 分治演算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 12.2 分治搜尋策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 12.3 構建二元樹問題 . . . 輪的重複後,就能將其牢記在心。推薦的題單和刷題計劃請見此 GitHub 倉庫。 3. 階段三:搭建知識體系。在學習方面,我們可以閱讀演算法專欄文章、解題框架和演算法教材,以不斷 豐富知識體系。在刷題方面,可以嘗試採用進階刷題策略,如按專題分類、一題多解、一解多題等,相 關的刷題心得可以在各個社群找到。 如圖 0‑8 所示,本書內容主要涵蓋“階段一”,旨在幫助你更高效地展開階段二和階段三的學習。 第 0 章 前言 www0 码力 | 364 页 | 18.74 MB | 9 月前3Python 标准库参考指南 3.7.13
Python 本身完成,因此与平台无 关。 buffering 是一个可选的整数,用于设置缓冲策略。传递 0 以切换缓冲关闭(仅允许在二进制模式下),1 选择行缓冲(仅在文本模式下可用),并且 >1 的整数以指示固定大小的块缓冲区的大小(以字节为单 位)。如果没有给出 buffering 参数,则默认缓冲策略的工作方式如下: • 二进制文件以固定大小的块进行缓冲;使用启发式方法选择缓冲区的大小,尝试确定底层设备 DEFAULT_BUFFER_SIZE。在许多系统上,缓冲区的长度通常为 4096 或 8192 字节。 •“交互式”文本文件(isatty() 返回 True 的文件)使用行缓冲。其他文本文件使用上述策略用 于二进制文件。 encoding 是用于解码或编码文件的编码的名称。这应该只在文本模式下使用。默认编码是依赖于平台的 (不管locale.getpreferredencoding() 返回何值),但可以使用任何 关键字参数来实现不同的错误处理方案。可用的值请参 阅错误处理方案。 errors 参数将被赋值给一个同名的属性。通过对此属性赋值就可以在IncrementalEncoder 对象的生 命期内在不同的错误处理策略之间进行切换。 encode(object[, final]) 编码 object (会将编码器的当前状态纳入考虑) 并返回已编码的结果对象。如果这是对encode() 的最终调用则 final0 码力 | 1961 页 | 9.14 MB | 9 月前3Python 标准库参考指南 3.7.13
Python 本身完成,因此与平台 无关。 buffering 是一个可选的整数,用于设置缓冲策略。传递 0 以切换缓冲关闭(仅允许在二进制模式 下),1 选择行缓冲(仅在文本模式下可用),并且 >1 的整数以指示固定大小的块缓冲区的大小(以 字节为单位)。如果没有给出 buffering 参数,则默认缓冲策略的工作方式如下: • 二进制文件以固定大小的块进行缓冲;使用启发式方法选择缓冲区的大小,尝试确定底层设 关键字参数来实现不同的错误处理方案。可用的值请 参阅错误处理方案。 errors 参数将被赋值给一个同名的属性。通过对此属性赋值就可以在IncrementalEncoder 对象 的生命期内在不同的错误处理策略之间进行切换。 encode(object[, final]) 编 码 object (会 将 编 码 器 的 当 前 状 态 纳 入 考 虑) 并 返 回 已 编 码 的 结 果 对 象。 如 关键字参数来实现不同的错误处理方案。可用的值请 参阅错误处理方案。 errors 参数将被赋值给一个同名的属性。通过对此属性赋值就可以在IncrementalDecoder 对象 的生命期内在不同的错误处理策略之间进行切换。 decode(object[, final]) 解 码 object (会 将 解 码 器 的 当 前 状 态 纳 入 考 虑) 并 返 回 已 解 码 的 结 果 对 象。 如0 码力 | 1846 页 | 9.09 MB | 9 月前3Python 标准库参考指南 3.8.20
Reference, 发布 3.8.20 buffering 是一个可选的整数,用于设置缓冲策略。传递 0 以切换缓冲关闭(仅允许在二进制模式下),1 选择行缓冲(仅在文本模式下可用),并且 >1 的整数以指示固定大小的块缓冲区的大小(以字节为单 位)。如果没有给出 buffering 参数,则默认缓冲策略的工作方式如下: • 二进制文件以固定大小的块进行缓冲;使用启发式方法选择缓冲区的大小,尝试确定底层设备 DEFAULT_BUFFER_SIZE。在许多系统上,缓冲区的长度通常为 4096 或 8192 字节。 •“交互式”文本文件(isatty() 返回 True 的文件)使用行缓冲。其他文本文件使用上述策略用 于二进制文件。 encoding 是用于解码或编码文件的编码的名称。这应该只在文本模式下使用。默认编码是依赖于平台的 (不管locale.getpreferredencoding() 返回何值),但可以使用任何 关键字参数来实现不同的错误处理方案。可用的值请参 阅错误处理方案。 errors 参数将被赋值给一个同名的属性。通过对此属性赋值就可以在IncrementalEncoder 对象的生 命期内在不同的错误处理策略之间进行切换。 encode(object[, final]) 编码 object (会将编码器的当前状态纳入考虑) 并返回已编码的结果对象。如果这是对encode() 的最终调用则 final0 码力 | 2052 页 | 9.74 MB | 9 月前3
共 59 条
- 1
- 2
- 3
- 4
- 5
- 6