小白入坑python金融分析指南(踩雷帖)——只有小白才能教小白

大家好,我是一名学习python分析金融数据的小白,纯小白,因为我本科学的金融,对于编程这方面不是很专业,也不是很熟悉。但我用亲身经历验证了,即使零基础,也可以在优快云粘代码达到分析金融数据的目的。我觉得只有小白才能教小白,作为一名零基础入坑成功选手,我会分享第一步入坑的经验给大家。

首先是python环境,我最早入坑是装的python3.7.1+vscode,当时个人感觉非常好用,能够满足基础应用。随着我用的越来越多,越来越深入,发现我的pip有很大问题。而且这种问题,普遍存在,因为小白不懂怎么搞,就开始乱装各种东西,路径也乱七八糟,会导致不兼容、pip失效等问题。作为小白不知道怎么消bug,我一度陷入瓶颈。有时候做个什么分析或者策略,包都装不了,于是我了解了anaconda。我目前的组合是pycharm+anaconda。pycharm对于python敲代码很好用,anaconda包括了基本一些金融数据分析的包,跑代码无压力,直接import就可,不用担心自己有没有装包,而且anaconda中包含python,在pycharm运行环境中就可以设置anaconda。我的操作栏,最常用的是vscode还有pycharm
python安装参考文章
https://blog.youkuaiyun.com/weixin_43968923/article/details/86586330?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158633686819726869060262%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158633686819726869060262&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-all_SOOPENSEARCH-1

vscode安装参考文章
https://blog.youkuaiyun.com/newbie_907486852/article/details/85228085?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158634332419726867836920%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158634332419726867836920&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-all_SOOPENSEARCH-1

pycharm安装参考文章https://blog.youkuaiyun.com/qq_37398847/article/details/104397256?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158622634619725256725760%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158622634619725256725760&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-all_SOOPENSEARCH-12

anaconda安装参考文章
https://blog.youkuaiyun.com/qq_40263477/article/details/104289758?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158626114619724811804526%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158626114619724811804526&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-all_SOOPENSEARCH-9

感谢两位大神分享的安装教程,大家可以直接在csdn上搜索对应自己操作系统和需求的安装教程。认识我的朋友可以直接找我要python3.7+vscode安装的压缩包,如果是完全零基础小白,建议从python+vscode入坑,操作页面简单,易于操作,至于进阶的问题可以以后再来读这篇文章。

环境配置好后,就要打出自己的第一行代码,按照规矩,我就不介绍了,互联网界有句名言Talking is cheap ,show your codes.不多说了,上代码

print('HELLO WORLD!')

这就是你的,第一行代码。
接下来,根据我个人入坑经验,数据结构和语法我没有刻意多学很多,因为我之前有了解过其他的编程语言,属于懂个大概,但是我认为如果你以分析金融为目的,这些在当前阶段可以忽略。

首先学的第一步就是:抄代码。

没错,就是抄代码。python语言的优势就在于其开源性,各种包。学python前,建议先学GitHub、csdn。我入坑的第一个库是tushare,爬取金融数据,例如股票交易行情数据并输出为excel,我印象中,可能用不了几行,大家可以去tushare官网粘代码,第二步入坑就是画一个k线图,用到了python作图的库,我把我优化后的代码分享给大家

import datetime

import pandas_datareader.data as web

df_stockload = web.DataReader("000001.SS", "yahoo", datetime.datetime(2019, 4, 17), datetime.datetime(2020, 4, 17))
print(df_stockload.info())

# 替换 import matplotlib.finance as mpf 画k线图
import mpl_finance as mpf  # 替换 import matplotlib.finance as mpf

import matplotlib.pyplot as plt

# 创建fig对象
fig = plt.figure(figsize=(8, 6), dpi=100, facecolor="white")
 
# 设置图像边框
fig.subplots_adjust(left=0.09, bottom=0.20, right=0.94, top=0.90, wspace=0.2, hspace=0)

# 创建子图
graph_KAV = fig.add_subplot(1, 1, 1)

# 画k线
mpf.candlestick2_ochl(graph_KAV, df_stockload.Open, df_stockload.Close, df_stockload.High, df_stockload.Low, width=0.5,
                      colorup='r', colordown='g')  # 绘制K线走势

# 绘制移动平均线图
# pd.rolling_mean(df_stockload.Close,window=20)
df_stockload['Ma20'] = df_stockload.Close.rolling(window=20).mean()

# pd.rolling_mean(df_stockload.Close,window=30)
df_stockload['Ma30'] = df_stockload.Close.rolling(window=30).mean()

# pd.rolling_mean(df_stockload.Close,window=60)
df_stockload['Ma60'] = df_stockload.Close.rolling(window=60).mean()

import numpy as np

# 绘制到图上面
graph_KAV.plot(np.arange(0, len(df_stockload.index)), df_stockload['Ma20'], 'black', label='M20', lw=1.0)
graph_KAV.plot(np.arange(0, len(df_stockload.index)), df_stockload['Ma30'], 'green', label='M30', lw=1.0)
graph_KAV.plot(np.arange(0, len(df_stockload.index)), df_stockload['Ma60'], 'blue', label='M60', lw=1.0)

# 图像设置

# 添加图例
graph_KAV.legend(loc='best')

graph_KAV.set_title(u"000001 SHANGHAI COMPOSITE INDEX-K LINE")
graph_KAV.set_xlabel("DATE")
graph_KAV.set_ylabel(u"INDEX")
graph_KAV.set_xlim(0, len(df_stockload.index))  # 设置一下x轴的范围
graph_KAV.set_xticks(range(0, len(df_stockload.index), 15))  # X轴刻度设定 每15天标一个日期
graph_KAV.set_xticklabels([df_stockload.index.strftime('%Y-%m-%d')[index] for index in graph_KAV.get_xticks()])  # 标签设置为日期

# X-轴每个ticker标签都向右倾斜45度
for label in graph_KAV.xaxis.get_ticklabels():
    label.set_rotation(45)
    label.set_fontsize(10)  # 设置标签字体
plt.show()

短短几十行代码,就可以做出精美的k线图,是不是很神奇,类似这种功能性的代码到处都有,一定要会粘。但是,如果只粘就不是学习了。我的方法是,在粘来代码实现功能后,我一定会把每一行给看明白,不懂就问不懂就查。最后的结果是,我可能自己写不出来代码,但是我想实现类似功能,我可以把储存的代码拿出来用,改一下变量就可以,我认为,这才是一个学习的过程,用得越多就越熟练,最后可以完全靠自己写,就像黑客帝国里的高手一样盲敲代码,可以实现自己想要的功能分享给别人而不是一直去找别人做了什么,别人不做,就是你的边际。

“永远不要依赖任何人”

这一期简单讲了一下环境构造和入坑的思路和方法,以后会更倾向于实战性给大家分享入坑的技巧和代码,这篇是给小白看的,大佬轻喷,感谢以上我参考的链接和代码,人生苦短我用python。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VampireCaptain

如果对您有帮助的话请支持一下!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值