Python对股票模型数据分析实例

本文通过Python介绍了一种股票交易策略,包括交易准则、数据获取、处理、可视化和策略测试。使用tushare库获取股票数据,通过计算指标、可视化图表辅助决策,并展示了股价监控邮件通知的实现,但实际下单未自动化。
摘要由CSDN通过智能技术生成

 

一、交易准则

 

在开始之前,我们应该了解最基础的交易系统是什么样,明白自己的交易准则是什么,确定一个自己的交易依据。比如以下六个方面:

1)市场----买卖什么

2)头寸规模----买卖多少

3)入市----何时买入

4)止损----何时退出亏损的头寸

5)止盈----何时退出盈利的头寸

6)离市----何时离市

 

二、简单的示例

 

1)买卖A股

2)全仓

3)当日涨幅超过3%买入。

4)当持有头寸亏损超过3%,平仓

5)当日跌幅大于3%或者三个连续阴线

 

分析: 这个交易策略其实只有在行情以波浪形状向上的行情时候才能获利,如果是盘整的情况下,怕是会亏的很惨。

 

三、数据获取及处理

 

人工炒股要追求信息十分及时化,就太费精力,如果利用Python的话,人工劳累程度会大大降低,信息化程度也会提高。而python语言中用于获取股票行情数据的库,最有名莫过于tushare了。

 

这里以上证乐视的股票为例吧。

 

四、python环境安装

 

安装Anaconda(python2版本)

 

五、安装tushare

pip install tushare

 

六、获取行情数据

import pandas as pd
import tushare as ts

# 通过股票代码获取股票数据,这里没有指定开始及结束日期
df = ts.get_k_data("300104")

# 查看前十条数据
df.head()

# 查看后十条数据
df.tail()

# 将数据的index转换成date字段对应的日期
df.index = pd.to_datetime(df.date)

# 将多余的date字段删除
df.drop("date", inplace=True, axis=1)

 

七、计算常用指标

 

# 计算5,15,50日的移动平均线, MA5, MA15, MA50
days = [5, 15, 50]
for ma in days:
    column_name = "MA{}".format(ma)
    df[column_name] = pd.rolling_mean(df.close, ma)

# 计算浮动比例
df["pchange"] = df.close.pct_change()
# 计算浮动点数
df["change"] = df.close.diff()
df.head()

 

最终处理完成后的结果如下:

 

Out[13]:
open close high low volume code MA5 MA15 MA50 \
date
2013-11-29 9.396 9.741 9.870 9.389 146587.0 300104 NaN NaN NaN
2013-12-02 9.298 8.768 9.344 8.768 177127.0 300104 NaN NaN NaN
2013-12-03 8.142 8.414 8.546 7.890 176305.0 300104 NaN NaN NaN
2013-12-04 8.391 8.072 8.607 8.053 120115.0 300104 NaN NaN NaN
2013-12-05 7.983 7.366 8.108 7.280 253764.0 300104 8.4722 NaN NaN

pchange change
date
2013-11-29 NaN NaN
2013-12-02 -0.099887 -0.973
2013-12-03 -0.040374 -0.354
2013-12-04 -0.040647 -0.342

 

八、可视化

 

1)走势图

所谓一图胜前言,将数据可视化可以非常直观的感受到股票的走势。


个人觉得,如果用程序炒股还是应该一切都量化的,不应该有过多的主观观点,如果过于依赖直觉或者当时心情,那么实在没必要用程序分析了。

 

df[["close", "MA5", "MA15", "MA50"]].plot(figsiz=(10,18))

 

效果

  • 3
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Python数据分析实例源码是一些帮助数据科学家、工程师和数据分析师在Python平台上进行数据分析的代码示例。这些示例代码可以帮助数据分析人员快速理解和掌握Python数据分析的基本原理和技能。 这些源码示例可以涵盖从数据清洗、可视化、机器学习到人工智能等领域的数据分析问题,例如: 1. 数据清洗:包括数据预处理、数据格式化、数据过滤等等,比如清洗数据、去除错误的数据等。 2. 数据可视化: 包括各种类型的图表和地图展示,比如条形图、饼图和地图可视化等。 3. 机器学习:在Python 中使用机器学习模型进行预测和分类,比如逻辑回归、朴素贝叶斯分类器和决策树等。 4. 深度学习:使用深度学习技术处理大量的数据,比如使用神经网络进行图像识别、自然语言处理和语音识别等任务。 总之,Python数据分析实例源码可以帮助学习Python的数据科学家更快速地进行数据分析和应用,促进了Python数据分析领域的广泛应用。 ### 回答2: Python数据分析实例源码提供了丰富的数据分析案例及源代码,并可以通过学习这些实例更好地理解Python数据分析领域的应用。这些实例涉及到的领域包括数据预处理、数据可视化及机器学习等,并可以帮助您更好地处理和分析数据。 其中包括常用的数据处理和分析库,如Pandas和Numpy,它们可以帮助您处理和操作数据集。同时也包括了可视化库,如Matplotlib和Seaborn。这些库可以帮助您更好地理解数据集的分布和相关性,以便更好地进行数据探索和分析。 Python数据分析实例源码还包括一些机器学习相关的案例,如监督学习、无监督学习、深度学习等。它们可以帮助您了解如何使用Python在机器学习领域应用最新技术。 通过Python数据分析实例源码的学习,您可以更好地了解Python数据分析领域的应用,并且可以通过实例代码更加深入的理解Python的使用方法。这些实例不仅可以帮助您在处理数据时更加得心应手,还可以帮助您在解决实际问题时更加有效地使用Python。 ### 回答3: Python数据分析实例源码是指用Python编写的代码,用于解决数据分析中的问题或实现数据分析算法。这类源码通常包括数据读取、数据预处理、数据分析可视化等功能,在实现数据分析的整个过程中发挥着重要的作用。 对于数据读取和预处理,Python提供了强大的Pandas库来处理常见的数据类型,例如CSV格式、Excel格式、JSON格式等,并且Pandas库支持基本的数据清洗、处理缺失值、数据变换等功能。而对于数据分析可视化Python则提供了Numpy、Matplotlib、Seaborn等库,这些库可以帮助我们进行统计分析和数据可视化,并且具有很高的灵活性和扩展性,可以满足不同场景下的数据分析需求。 以一个简单的数据分析实例为例,给定一份学生成绩的CSV文件,我们希望分析每个学生各科成绩的平均分、标准差等统计指标,并且绘制出每个学生的成绩分布图。以下是Python数据分析实例的源码: ```python import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 读取数据 df = pd.read_csv('scores.csv') # 计算各科平均分和标准差 df['mean'] = df.mean(axis=1) df['std'] = df.std(axis=1) # 绘制成绩分布图 for col in df.columns[:-2]: sns.displot(df, x=col, hue='name', kind='kde') plt.title('Distribution of %s' % col) plt.savefig('%s.png' % col, dpi=300) plt.show() ``` 该源码中,我们首先使用Pandas的read_csv函数读取CSV文件,并对数据进行预处理,计算各科平均分和标准差,并将计算结果保存在DataFrame中。然后,我们使用Seaborn库绘制出各科成绩的分布图,并通过循环批量保存成绩分布图像。最后,我们通过Matplotlib库展示图像。 总之,Python数据分析实例源码对于从事数据分析工作的人来说是非常重要的工具之一,可以帮助分析师更高效更快捷地解决实际问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值