用matplotlib绘制每次交易的盈亏三角形
用matplotlib绘制每次交易的盈亏三角形
结果:
代码:
python
def plot_trade_triangle(self):
# plot each trade as a trade-triangle, and annotate pnl
trade = self.trade
equity = self.equity.equity
fig,ax=plt.subplots()
for dt, row in trade.iterrows():
bars = row.buybar, row['sellbar']
pnl = 0 , row['pnl']
colors = 'r' if row.pnl>0 else 'g'
ax.plot( bars, pnl, color=colors)
arrowprops = dict(facecolor='black',
edgecolor=colors,
#shrink=0.05,
arrowstyle='->',)
y_factor = 1.2 if abs(row.pnl) > 10. else 1.6
colors = 'yellow' if row.pnl>0 else 'cyan'
valignment = 'bottom' if row['pnl']>0 else 'top'
note= 'hld:%s\npnl:%s'% (bars[1]-bars[0], str(row['pnl']))
ax.annotate(note, xy=(row.sellbar, row.pnl),
xytext=(row.sellbar, row.pnl*y_factor),
va=valignment,
arrowprops=arrowprops,)
ax.fill_between(bars, pnl, color=colors)
# 画: 持股期间的浮动盈亏:
float_pnl=(roc1[row.buybar+1:row.sellbar+1]+1).cumprod()
iloc = [equity.index.get_loc(key) for key in float_pnl.index]
float_pnl = pd.Series( (float_pnl.values-1)*100., index=iloc)
ax.plot(float_pnl, color='b')
ax.set_ylabel('float_pnl(%)')
用matplotlib绘制每次交易的盈亏三角形的更多相关文章
- 用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线
我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...
- 用Python的Pandas和Matplotlib绘制股票KDJ指标线
我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...
- matplotlib绘制动画
matplotlib从1.1.0版本以后就开始支持绘制动画,具体使用可以参考官方帮助文档.下面是一个很基本的例子: """ A simple example of an ...
- 用Matplotlib绘制二维图像
唠叨几句: 近期在做数据分析,需要对数据做可视化处理,也就是画图,一般是用Matlib来做,但Matlib安装文件太大,不太想直接用它,据说其代码运行效率也很低,在网上看到可以先用Java做数据处理, ...
- Python学习(一) —— matplotlib绘制三维轨迹图
在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
- 使用matplotlib绘制多个图形单独显示
使用matplotlib绘制多个图形单独显示 一 代码 import numpy as np import matplotlib.pyplot as plt #创建自变量数组 x= np.linspa ...
- Python——使用matplotlib绘制柱状图
Python——使用matplotlib绘制柱状图 1.基本柱状图 首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.htm ...
- NumPy使用 Matplotlib 绘制直方图
NumPy - 使用 Matplotlib 绘制直方图 NumPy 有一个numpy.histogram()函数,它是数据的频率分布的图形表示. 水平尺寸相等的矩形对应于类间隔,称为bin,变量hei ...
随机推荐
- fastDFS教程Ⅱ-文件服务器迁移
在实际的项目应用中,由于服务器替换或项目变更难免会存在fastDFS文件服务器迁移的工作.本文重点介绍fastDFS文件系统在不同情况下的文件迁移处理方案. 1.迁移时IP地址不变 通过文件服务器存储 ...
- C#_Stream
IO操作基本上需要用到Stream相关的子类,因此这类问题在CSDN问得也是比较多.其实对于Stream来说,操作起来比较简单,只要对细节的处理稍微注意一下,相信在使用它的时候也会得心应手. 对于St ...
- pthon自动化之路-编写登录接口
# Author:Lixiang Zoulock = "F:/Users/admin/PycharmProjects/day1/account.txt"account = &quo ...
- mybati缓存机制之一级缓存
在月黑风高的某天夜晚,boss chen语重心长的发条了消息给小草说:“小草啊,是时候写写博客来记录平常自己积累的东西了......”.小草一听,平常没有写博客的习惯,在平常开发中只是用笔记记录自 ...
- TypeError: web3.eth.Contract is not a constructor错误解决
这是web3.js开发者在创建合约对象时很容易发生的错误,其实就是不同版本web3.js带来的API变化问题. 请检查你的web3.js版本: 如果version<1.0.0,使用: web3. ...
- coinmarketcap前20之cardano卡尔达诺(ADA艾达币)
1. 在开始讲述cardano前,我先说说自己在coinmarketcap前20系列的"学习方法". 最初,我把前20做了一个简单表格,不做任何功课的基础上,记录自己对它们的简要认 ...
- 微软职位内部推荐-Senior Development Lead – Sharepoint
微软近期Open的职位: SharePoint is a multi-billion dollar enterprise business that has grown from an on-prem ...
- PAT甲级题解-1047. Student List for Course (25)-排序
一开始是建立了course[2501][40001]数组,存储每节课的学生编号然后for循环两层输出,但这样复杂度为O(2500*40000),也很明显导致最后时间超时后来发现最多40000学生,每个 ...
- 团队作业week7
软件分析和用户需求调查 具体细则见: http://www.cnblogs.com/xinz/p/3308608.html
- 20135220谈愈敏Blog5_系统调用(下)
系统调用(下) 谈愈敏 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 给Me ...