
Python
文章平均质量分 77
Python日常使用分享
Coder加油!
老程序员一枚,20年开发和技术管理经验。善长DevOps、Python、Java、C++和项目管理。欢迎关注交流。
展开
-
Python开发-matplotlib
最后用 autofmt_xdate() 函数自动格式化x轴的日期标签,并显示图表。我们用 subplots() 函数创建一个包含两个子图的图形对象。建议查阅Matplotlib的官方文档和画廊,学习更多的绘图技巧和自定义选项。同时,也可以探索一些基于Matplotlib的高级绘图库,如Seaborn和Plotly,它们提供了更加美观和交互的图表样式。接着设置x轴和y轴的标签,图表标题,x轴刻度的旋转角度,以及显示网格线。Matplotlib是Python中最流行的绘图库,提供了丰富的图表类型和自定义选项。原创 2024-03-23 11:34:06 · 771 阅读 · 0 评论 -
Python开发-pandas
我们先用 to_datetime() 函数将Date列转换为日期时间类型,然后用 set_index() 方法将其设置为DataFrame的索引。这里我们将日数据重采样为周数据,并计算每周的最高价、最低价、开盘价(第一个值)、收盘价(最后一个值)和平均成交量。这里'Date'列是日期,'Open','High','Low','Close'是浮点数,'Volume'是整数。多个条件可以用 &(和)、|(或)连接。dropna()函数删除包含缺失值的行,fillna()函数可以将缺失值填充为指定的值。原创 2024-03-23 11:32:51 · 901 阅读 · 0 评论 -
Python开发-NumPy
NumPy是一个功能强大的Python库,专门用于处理大规模的数值型数据。它提供了多维数组对象(ndarray)以及各种数学函数和工具,使得在Python中进行数值计算变得更加高效和便捷。下面我们通过一个量化金融的例子来展示NumPy的应用,在这个例子中,我们将使用NumPy计算股票收益率、风险(标准差)以及股票组合的权重优化。通过使用NumPy,我们可以方便地进行数组的创建、计算和操作,快速实现量化金融中的各种计算和优化任务。原创 2024-03-22 11:13:40 · 373 阅读 · 0 评论 -
Python开发-数据结构
图是一种由节点(Node)和边(Edge)组成的数据结构,用于表示对象之间的关系。图可以是有向的(Directed Graph)或无向的(Undirected Graph)。以下是Python中常见的数据结构:列表,元组,字典,集合,字符串,栈,队列,树,图。字典的键表示节点,对应的值是一个列表,存储与该节点相连的其他节点。在示例代码中,我们创建了一个包含6个节点的无向图,并分别使用深度优先搜索和广度优先搜索对图进行遍历。树是一种层次结构的数据结构,由节点(Node)和边(Edge)组成。原创 2024-03-22 11:12:15 · 832 阅读 · 0 评论 -
Python开发-模块开发和常用模块
math.log(x[, base]):计算x的自然对数,如果提供了base,则计算以base为底的x的对数。random 模块还提供了一些其他的函数,如 random.gauss() 用于生成符合高斯分布的随机数,random.expovariate() 用于生成符合指数分布的随机数等。(2)datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0): 创建一个指定日期和时间的 datetime 对象。原创 2024-03-20 10:30:12 · 1390 阅读 · 0 评论 -
Python开发-面向对象和类
在Python中,面向对象(OO)是一种编程范式或思想,它将现实世界中的实体抽象为对象(Object),通过对象之间的交互来解决问题,在量化交易中,它可以帮助我们更好地组织和管理复杂的交易策略和系统。在面向对象编程中,我们把数据和操作数据的方法封装在对象内部,通过对象的属性(Attribute)和方法(Method)来描述对象的特征和行为。通过继承和多态,我们可以创建具有层次结构的类,重用代码,并编写通用的代码来处理不同类型的对象。类(Class):类是对象的蓝图或模板,定义了对象的属性和方法。原创 2024-03-19 17:24:26 · 739 阅读 · 0 评论 -
Python开发-函数和调用
在这个例子中,我们调用了 greet 函数,并传递了字符串 "Alice" 作为参数。(2)参数列表:函数的参数,可以有0个或多个,多个参数之间用逗号分隔。(4)return语句:用于结束函数的执行,并可将函数的执行结果返回给调用者。调用函数时,将实参按位置或名称传递给函数,函数执行完毕后将结果返回给调用者。在这个例子中,greet 是函数名,name 是函数的参数。必选参数是函数调用时必须提供的参数,调用时数量和位置都要和定义时一致。默认参数可以让函数在调用时省略某些参数,若未提供则使用默认值。原创 2024-03-19 10:34:23 · 647 阅读 · 0 评论 -
Python开发-条件判断和循环控制
在这个例子中,if后面的条件表达式是score >= 90,因为score的值是85,所以该条件不成立,接着判断elif后面的条件表达式score >= 80,成立,因此执行紧跟在该elif后面的代码块,打印"良好"。如果i等于3,则执行i += 1语句,将i的值加1,接着执行continue语句,跳过本次循环的剩余代码,继续执行下一次循环。(11)因为i等于3,执行i += 1语句,将i的值加1,此时i的值为4,接着执行continue语句,跳过本次循环的剩余代码,继续执行下一次循环。原创 2024-03-18 15:45:53 · 1179 阅读 · 0 评论 -
Python开发-基本语法
在量化交易中,Python是一种非常流行的编程语言。它简洁、易读、易学,且有丰富的库支持。我将花十章的左右篇幅来介绍这部分知识为后续的开发打好基础,如果你Python已经很熟练了,可以跳过这部分的学习。我使用开发环境是Python3.8为基础,IDE使用的是Vscode,大家可以和我的开发环境保持一致,方便后面例子程序的调试。下面我会逐一介绍变量、数据类型和运算符,并提供相应的示例代码。原创 2024-03-18 15:43:44 · 773 阅读 · 1 评论 -
网站压力测试和Locust
网站压力测试是一种评估网站性能、可靠性和稳定性的方法。它通过模拟大量用户同时访问网站,来测试网站的响应时间、吞吐量、资源利用率等指标,从而发现网站的潜在问题和瓶颈。Locust是一款强大的开源负载测试和压测工具,用于衡量并发用户对系统的影响。它旨在对分布式系统进行可扩展且直观的测试。Locust使用Python编写,使其具有高度可定制性和灵活性。Locust的工作原理是模拟一定数量的虚拟用户,这些用户不断地执行您指定的任务。原创 2024-04-08 11:41:30 · 1659 阅读 · 1 评论 -
自动化运维(五)Ansible 之 inventory详解
Ansible的inventory是一个用于定义托管节点的配置文件,它告诉Ansible需要管理哪些主机以及如何连接到这些主机。在这个例子中,我们定义了两个组:webservers和databases,每个组包含两个主机。最后,我们为production组定义了一个ansible_user变量,指定连接主机时使用的用户名。Ansible的inventory提供了一种灵活而强大的方式来组织和管理你的基础设施。通过使用主机、组、变量和动态inventory,你可以轻松地对不同的环境和项目进行配置管理和自动化。原创 2024-04-05 20:41:17 · 1182 阅读 · 0 评论 -
自动化运维(三)Ubuntu20.04安装Ansible和Ansible AWX
Centos7安装的时候比较麻烦,因为需要注意python的版本问题,使用Ubuntu20.04安装比较容易,因为它系统带的Python版本是3.8,对于那些在Centos7安装困难的同学来说,要选择在Ubuntu20.04上来安装。原创 2024-04-04 07:00:00 · 1233 阅读 · 0 评论 -
量化交易入门(四十)什么是ASI指标,怎么用它炒股
ASI指标全称为Accumulation Swing Index,即积累摆动指数。它是一种用于衡量市场供需关系强度的技术指标,由Welles Wilder开发。ASI指标结合了价格和成交量的变化,试图从动量的角度来衡量多空双方的力量对比。其计算公式如下:计算价格的变化值:ΔP = 今日收盘价 - 昨日收盘价计算成交量的变化值:ΔV = 今日成交量 - 昨日成交量当ΔP > 0且ΔV > 0时,ASI = ΔP * ΔV当ΔP < 0且ΔV > 0时,ASI = ΔP * ΔV。原创 2024-04-03 07:46:53 · 4224 阅读 · 0 评论 -
自动化运维(二)Centos7 安装Ansible和Ansible AWX
安装Ansible和Ansible AWX所需要的硬件没有硬性规定,它的需求很大程度上取决于你打算如何使用它,例如管理的节点数量、执行的任务复杂性、并发作业的数量等。我们学习的时候可以配置出一个2核4G的虚拟机来安装,这里我们使用的操作系统是Centos7,使用最小安装,配置好固定IP地址,开通ssh服务,我们可以通过ssh工具远程管理这个虚拟机。在大多数情况下,使用官方镜像是一种更简单、更快速的安装AWX的方法,特别是当你刚开始使用AWX时。命令直接拉取官方的AWX镜像。,使用刚创建的管理员账号登录。原创 2024-04-03 07:30:00 · 2114 阅读 · 0 评论 -
自动化运维(一)自动化运维概念和运维工具Ansible
Ansible 是一款开源的自动化运维工具,广泛用于配置管理、应用部署、任务自动化等场景。由于其简单易用、无需在管理节点上安装代理(agentless)和拥有强大的社区支持,Ansible 已成为 IT 自动化领域的热门工具之一。原创 2024-04-03 07:00:00 · 1249 阅读 · 0 评论 -
量化交易入门(三十九)怎么获取A股历史数据
前面我们都是以美股的苹果股票为例进行策略和技术指标的回测,量化交易对中国A股是否适用呢?我们怎么样免费获取A股的股票数据呢?我给你介绍三个免费的数据平台。原创 2024-04-02 08:00:00 · 1807 阅读 · 0 评论 -
Python初学者的入门计划
Python是一种高级编程语言,由Guido van Rossum在1989年底发起,第一个公开发行版发布于1991年。它是一种解释型、交互式、面向对象的语言。以其高效的高级数据结构、简单但有效的面向对象编程方法以及优雅的语法而受到广泛欢迎。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而不是使用大括号或关键字)。这使得Python成为一种易于学习的语言,同时也具备了执行复杂任务的能力。原创 2024-04-02 07:30:00 · 1339 阅读 · 0 评论 -
量化交易入门(三十八)CCI指标Python实现和回测
CCI指标在量化交易中的策略:在以下情况下生成买入信号:当 CCI 指标的值低于下限(self.params.lower)并且在上一根K线上低于下限时,生成买入信号。在以下情况下生成卖出信号:当 CCI 指标的值高于上限(self.params.upper)并且在上一根K线上高于上限时,生成卖出信号。策略的目的是在 CCI 指标的值低于下限时买入,以获得较低的价格,并在 CCI 指标的值高于上限时卖出,以获得较高的价格,从而实现利润。原创 2024-04-02 07:00:00 · 1746 阅读 · 0 评论 -
Python获取当前服务器的公网IP
因为需要将dns的域名指向改为当前服务器,因此需要获取当服务器的公网IP,要在 Python 中获取当前服务器的公网 IP,你可以使用第三方服务提供的 API。请注意,这些方法依赖于第三方服务,因此需要确保服务器可以访问这些 API 地址。如果你有可靠的外部服务器,可以设置一个定期更新 IP 的脚本,将当前服务器的公网 IP 发送到该外部服务器,然后从外部服务器获取 IP。如果服务器位于云平台(如 AWS、Google Cloud 或 Azure),可以使用平台提供的 API 或元数据服务获取公网 IP。原创 2024-03-28 15:19:17 · 1011 阅读 · 0 评论 -
centos7 安装python3.8 保留原来的python2.7
阿里云现在免费的SSL证书只能使用3个月了,原来是可以使用一年的,测试环境几十个域名3个月要更新一次ssl证书,手工操作太麻烦了,所以打算用python写个脚本来自动完成。首先就是安装python3.8的使用环境,有一台vps目前在公网,刚好可以用来做这个事情,服务器是Centos7的系统,系统自带一个python2.7,为了区分开来,手工安装一下Python3.8。现在,你的系统上应该同时有 Python 2.7 和 Python 3.8 了。命令运行 Python 2.7,使用。原创 2024-03-28 15:01:27 · 634 阅读 · 0 评论