- 博客(794)
- 资源 (16)
- 收藏
- 关注
原创 Andy系列文章序
说明博文写的面比较杂,这里做一个汇总梳理1 Python实现决策树更确切的说是「Python实现树族算法系列」。使用Python实现CART决策树,并基于此实现GBDT,Random Forest , XGBoost等模型开始页面:Python实现决策树(系列文章1)–从最简单的算法开始2 Python 函数字典系列这里指的是一种自定义的函数方法。将函数都作为某个字典可以引用的键值,然后可以使用参数化的方法调用链条比较长的函数。未来这部分会打包,以包装其他普通函数的方式来充实里面的函数。
2020-06-07 22:39:33 842 1
原创 建模杂谈系列256 规则函数化改造
所以,将原来的修饰器改一改,将节点的依赖关系在启动修饰器的时候解释。函数可以在修饰器下临时定义,也可以引用已经编辑好的。现在已经具备了使用形式化参数(如。
2024-09-16 17:56:53 761
原创 Python 全栈系列271 微服务踩坑记
Tornado:更适合专注于长连接和实时通信的场景,原生支持这些特性。FastAPI:更适合快速构建高性能API,也可以支持长连接,但需要依赖底层的异步框架。
2024-09-14 00:29:53 1242
原创 Python 全栈系列269 使用ORM转移数据
继续实践ORM的使用现在看起来,选择ORM的确是更好的,它让代码看起来更清晰了,效率上也基本能够保持。
2024-09-13 00:05:18 507
原创 Python 全栈系列268 数据库浅析
数据是数据库的内容,数据库负责存储、管理和组织这些数据。数据库为数据的存储提供了结构化的环境,并使数据的访问、管理和处理变得更加高效和安全。通过数据库系统,用户可以有效地管理大量的数据,并从中提取有价值的信息,从而支持各种应用和决策过程。人与数据库的交互方式多种多样,主要通过图形化工具、SQL 查询、编程语言、REST API 和自动化脚本等方式进行。选择哪种方式取决于用户的需求、技能水平和使用的场景。SQL类数据库的好处是普及率高,使用较为简单。在处理结构化数据时效率比较高,使用起来也比较简单。
2024-09-09 18:02:52 2262
原创 Python 算法交易实验88 QTV200日常推进-关于继续前进的思考
自顶向下,自底向上过去的很多行为是自底向上的,现在则是自顶向下。过去的经验告诉我,final solution 会在这个过程中产生。两种方向的探索,会在中间的某一个部分融合,达到一个兼顾、平衡的体系。Go!Go!Go!
2024-09-08 00:03:04 1395 1
原创 Python 全栈系列267 telegraf、influxdb和grafana
Telegraf 是一个灵活且功能强大的数据收集代理,通过其丰富的插件系统,可以从各种数据源收集数据并发送到多种目标系统。它的轻量级和高性能使其成为监控、日志管理、物联网数据收集等场景中的理想选择。尤其是与 InfluxDB 结合使用时,它可以组成一个强大的时序数据收集和分析系统。Prometheus更适合实时监控和报警,尤其在云原生和微服务架构下的监控非常流行。InfluxDB则是一个通用的时序数据库,适合需要持久化、复杂分析、事件和日志处理的场景。
2024-09-05 23:40:10 1552
原创 建模杂谈系列252 规则的串行改并行
提到规则,还是需要看一眼RETE算法:Rete算法是一种用于高效处理基于规则的系统中的问题的算法,广泛应用于和。它的设计目的是在大量规则和数据的组合中快速找到满足特定规则条件的模式。
2024-09-05 17:22:11 312
原创 Python 算法交易实验87 QTV200日常推进-沪深300的交易量统计
讲到,就全市场的交易量来看,近3年也看不出很奇怪的地方;因此,交易量[支持度]不足而导致的策略失灵似乎也说不通。计算多个连续周期的变异系数(CV)可以帮助分析数据在不同时间段内的波动情况。假设你有一段时间序列数据,并希望按月、季度或其他周期计算CV。下面是步骤和一个简单的示例。
2024-09-04 23:47:02 615
原创 建模杂谈系列253 序列突变点的判定
1 这种模型可以推断看不见的事实2 matplotlib用好了也可以画出很好看的图注意:理论上,pymc是可以借用显卡计算的。只不过之前它的后端比较奇葩,现在可能失传了。然后我不太清楚的是现在怎么和显卡挂上,单靠cpu只能做一些小规模的计算。
2024-09-02 22:03:28 481
原创 Python 全栈系列266 Kafka服务的Docker搭建
在大量数据处理任务下的缓存与分发这个算是来自顾同学的助攻+1,我有点java绝缘体的体质,碰到和java相关的安装部署总会碰到点奇怪的问题,不过现在已经搞定了。测试也接近了kafka官方标称的性能。考虑到网络、消息的大小等因素,可以简单认为kafka的速度是10万/秒级的。
2024-09-01 23:30:57 802
原创 Python 算法交易实验86 QTV200日常推进-获取A股日交易额并统计
上一篇说到,交易量可能可以作为策略规则的支持度分析,但是(我现在还不想付费买数据)现成的接口似乎并没有这样的统计。获取某一只股票的日交易数据是相对简单的,市场上也就不到5000只的股票,总数据量应该也不会超过18M(5000*3000)。所以可以获取全市场的日数据,然后自己汇总。
2024-09-01 17:40:25 1579
原创 Python一些可能用的到的函数系列131 发送钉钉机器人消息
来自顾同学的助攻钉钉机器人可以用来发送一些重要的系统消息,例如磁盘将满等等。原本还可以有更强的功能,就是监听群里的消息,然后做出反应,不过这个好像要买企业版,贵的毫无意义。钉钉发消息有几种模式,一种是按关键字过滤的,还有一种是按签名发送的。这次顾同学帮我梳理了按签名发送的函数。
2024-09-01 11:44:19 407
原创 Python 算法交易实验85 QTV200日常推进-钳制指标与交易量
继续保持思考与尝试最近挺有意思的,碰到很多技术上的问题,其解决方案都类似“阴阳两仪”的概念。"阴阳两仪"是中国古代哲学中的一个重要概念,源自《易经》(又称《周易》)。它是对宇宙间最基本对立统一规律的概括,用以描述事物存在的两种基本状态或属性。阴阳最初是指日光的向背,向日为阳,背日为阴。后来,阴阳的概念被广泛应用于自然界和社会生活的各个方面,成为解释自然现象和社会现象的一种基本理论。阴阳两仪认为,宇宙间的一切事物都是由阴阳两种对立而又相互依存、相互转化的力量构成的。
2024-08-31 22:55:18 1346
原创 Python 全栈系列265 使用ORM、Kafka、Apscheduler实现任务的并发处理
这种实现方式还是比较直观的,通过类似DBeaver之类的终端连接上数据库后,我们可以清楚的看到源数据,也可以看到随时间推移,不断的有处理好的数据存在结果数据库。1 ORM可以挂clickhouse, 这样存储所占的空间更小,在后续的提取、统计数据时更快。但需要验证的是clickhouse的where in 效率。2 ORM是可以批量存数的,这个是稍微靠后才发现的。3 FastAPI + APScheduler + Celery + Dash 调度。
2024-08-30 13:29:35 1886
原创 建模杂谈系列248 使用pydantic进行实体识别数据转换
实体识别的数据标注方式和传统的机器学习0/1标注的方法差别比较大,一般采用标注工具,如LabelStudio来对原始数据进行打标,然后转换为标准的可训练模式;模型训练后,对数据进行预测,结果仍然需要重新转为LabelStudio的格式,方便检查。LS在过程中起到的作用非常大,有许多高级功能值得探索和学习。以下是我快速看了一遍之后的总结理解label studio1 general5 webhooks回到本篇的内容:解决pydantic与实体识别模型之间的关联。
2024-08-22 15:41:04 800
原创 Python 全栈系列264 使用kafka进行并发处理
暂时考虑的场景是单条数据处理特别复杂和耗时的场景。场景如下:要对一篇文档进行实体处理,然后再对实体进行匹配。整个处理包成了服务,在单线程处理增量的时候非常正常,但尝试进行并行调用的时候出现了问题。每次报错的时候都是显示,感觉像是服务端连接的问题。由于每一部分都可能是瓶颈,我没(时间)法准确定位问题所在,很有可能是同时起了5个实体识别,GPU的抢占导致的问题(负载经常在100%)。所以要解决的问题是:在保证逻辑正确的情况下,且有大量miss的情况下,如何尽快的完成业务上的任务。
2024-08-21 23:30:30 987 1
原创 Python 算法交易实验83 QTV200日常推进-自限性思考
SMA的实验做完了,我特定把近3年和近1年的表现拉出来。比较让我惊讶的是,近3年几乎没有盈利的策略机会,这和qtv100过去一年的经历类似。所以有就一个不得不面对的问题,如何让策略在不同的市场状态下茁壮成长或生存?
2024-08-19 00:14:17 315
原创 Python 算法交易实验82 QTV200日常推进-重新实验SMA/EMA结果分析
尽量把目标聚焦到这里虽然我很想一次性把qtv搞好,不过现实通常会有很大的制约。总之,把注意力不断集中到qtv,直到完全胜利。
2024-08-18 18:50:36 650
原创 Python 全栈系列263 简易资源监控
开始比等待强这块其实我也不太熟,而且我也知道应该有更专业的做法其实连grafana我都准备好了,prometheus的镜像也准备好了,但是还没时间去细细弄。我想先快快整一版够用的(能让我依据这个数据进行调度)就行。
2024-08-18 00:23:36 482
原创 Python 全栈系列261 使用apscheduler
对于静态任务来说,一般可以事先分好大小均匀的若干block任务,这时候比较强调使用分布式系统进行快速处理;对于动态任务来说,主要按时间+区块大小划分。对于小的应用场景而言。
2024-08-18 00:09:28 312
原创 Python 全栈系列262 使用sqlalchemy(clickhouse)
再补充一篇。之前连不上的原因也挺搞笑,大概是deepseek把我带偏了,应该是但是它教我关键是这个包似乎还真的存在…
2024-08-17 22:45:09 601
原创 Python 算法交易实验81 QTV200日常推进-重新实验SMA/EMA/RSI
在kafka的过程中,对性能比较关注,实测下来发现json序列化的开销实在是很大。在消息的传输过程中,为了通用性,我对数据都进行了json传输,时间占比在整体80%以上。特别是从结果队列里取数,一条一条的。还挺理想的,8个核 ~ 20 worker,在睡一觉之后,大约完成了 10%的任务。另外注意到租用机的数据读取时间是2秒,比我的主机慢了一倍。我启动了周期任务,10秒一次,最多允许20个任务实例,且超时任务最后会合并(为1次)。有意思的是,我问了下deepseek,如果没有骗我的话,aps默认是线程池。
2024-08-17 11:12:39 1054
原创 Python 全栈系列260 使用sqlalchemy
所以,在IO端我一定不要害怕效率问题,而且实际上,并没有那么糟。sqlalchemy是ORM工具,这是典型的One思维工具。如果使用sqlalchemy ,而不是直接使用pymysql,在操作大量数据的时候,性能会下降多少。
2024-08-11 22:13:27 1077
原创 Python 算法交易实验80 QTV200日常推进-目标估算
业务目标在先,月利3%是第一个目标。虽然日常有在常规推进,但目标是什么?现在做的是什么?与目标的关联是什么?业务上讲,如果月利能够达到3%(几何平均),上下波动不超过1%,就算达标了(2%~4%)。考虑到金融领域有不可测风险,所以资金还会分摊到3个月。例如,假如总投资资金是30万,那么每个月的最大投资金额是10万。这样即使遇到大跳水,问题也不大。目标达到的话,10万本金每月的盈利是3000, 按复利计,24个月就会double,我觉得已经足够理想。假设投资90万,则可以按30万计算复利效果。
2024-08-10 23:14:03 586
原创 Python 算法交易实验79 QTV200日常推进-经典策略3 RSI、SMA实验结果回顾分析
先稍微回看一下实验的结果,然后再计划一下接下来的推进。
2024-08-09 23:25:34 346
原创 Python 算法交易实验78 QTV200日常推进-经典策略2 RSI
例行的推进,保持一个习惯。上次对SMA和EMA进行了一次暴力搜索,跑了两天,进度正常。跑数用了两个worker在处理,所以比较慢。主要是平时事太多,这两个worker肯定比我回过神要快,哈哈。如果是正儿八经跑的话,我觉得给100个worker跑是没问题的,其实速度不是事。我想了想,所谓对经典策略的变体,目前在我这也就是时隙单位变为分钟,以及我搜索了更大的参数空间,从而选定了一组或几组合适的空间。另外就是这些策略会作为强化学习框架的元素,最后的结果不仅取决于算法,还取决于强化学习框架。
2024-08-08 23:54:22 378
原创 Python 算法交易实验77 QTV200日常推进-经典策略
最初(去年7月)快快上了一版,到现在差不多正好一年。总体上当时做的还是蛮粗糙的,没有考虑模式,只是简单的用判别模型做了一道。过去的一年,显然不是特别好的一年。我知道的大部分还是以亏损居多。这版策略竟然没有亏钱,还算勉强及格。而且我在买卖和手续费上是比较苛刻的,所以实际上肯定会比这个数字好一些。最近的20个订单还赚了一些。总体上,这种盈亏比接近1的策略是没啥意思的。2或者3可能才是比较能让人提神的东西。改进的思路其实还蛮多的,只是没有什么具体的切入口,然后,突然想到这篇:书里给过一些建议。
2024-08-05 00:24:23 642
原创 Python 全栈系列258 线程并发与协程并发
1 协程用于worker级别,务求在单核上达到最高的IO并行2 线程用于player级别,确保多核并发worker3 除了主要的等待,开头和结尾可能还是有CPU开销。(至少json序列化也是常见的)
2024-07-07 23:11:45 932 1
原创 Python 算法交易实验76 QTV200日常推进
最近实在太忙, 没太有空推进这个项目,我想还是尽量抽一点点时间推进具体的工程,然后更多的还是用碎片化的时间从整体上对qtv200进行设计完善。
2024-07-07 11:05:02 508
原创 Python 算法交易实验75 QTV200后续想法梳理
在第一步获取数据源,然后进入Mongo(第一个数据节点)开始,QTV200的数据流体系就开始动了。后续用多少时间完成不太好确定,短则数周,长则数月。毕竟有过第一版实验的基础,应该还是可以做到的。下面就是天马行空,简单的想想,梳理一下,后续会更清楚写。
2024-06-30 14:54:43 807
原创 Python 算法交易实验74 QTV200第二步(改): 数据清洗并写入Mongo
之前第二步是打算进入Clickhouse的,实测下来有一些bug可以看到有一些分钟数据重复了。
2024-06-29 18:59:41 781
原创 Python 算法交易实验73 QTV200第二步: 数据清洗并写入ClickHouse
先检查一下昨天启动的worker是否正常工作,然后做一些简单的清洗,存入clickhouse。
2024-06-27 23:05:38 588
1 python的三种类方法
2021-01-10
DataManipulation-0.1.12.1-py3-none-any.whl
2020-07-11
DataManipulation-0.1.7-py3-none-any.whl
2020-05-30
netflix_titles.csv
2020-05-29
DataManipulation-0.1.6-py3-none-any.whl
2020-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人