Anaconda安装和使用 akshare获取股票数据
介绍
Anaconda是开源的Python包管理器。既是Python各种库的大礼包集合,特别是数据分析和科学计算方面的库都预装了,也是一个能创建虚拟机环境的工具。
我为什么安装
我安装它的原因不是科学计算,是因为我要用AkShare库获取数据,要求Python 3.6 及以上版本。我电脑Python 2.7.15,又不想升级,所以安装anaconda,用anaconda创建虚拟机环境,在虚拟机环境使用Python3.7,本地电脑保持原版本不变。
安装过程
下载地址www.anaconda.com选择download,

下载最新版本安装包Anaconda3-2020.02-Windows-x86_64.exe,


这里选择安装目录,将来创建的各个版本Python的环境文件也都放在这个目录的子目录下

这里我勾选了下面,没有勾选上面,开始安装

怎么用
打开
安装完成,在开始搜索ana会出现Anaconda prompt,我是以管理员身份运行的,不用管理员权限应该也没问题。

打开后窗口最前面的(base)表示你正处于Anaconda的基础环境,基础环境一般不真正使用,要根据自己具体项目需要建立自己的环境,否则这个工具的威力大打折扣了。
对比base环境的Python版本和正常命令行工具的Python版本,可以看到两者互不影响。
Ana窗口

普通cmd

修改channels
建立环境的时候要下载很多包,如果下载速度慢会导致下载timeout而终止,会报错,

解决办法是把channels设置为清华大学的镜像地址,在命令行依次执行下面命令。建议先设置下面的channels,然后创建你的第一个环境。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/
新建环境
建立自己环境的命令conda create -n ak_test python=3.7.6, ak_test是新建环境的名称,叫什么随意,3.7.6是我指定的版本,需要哪个版本就写哪个。




到这里说明创建ak_test环境完成,同时提示进入环境和离开环境的命令。
执行conda activate ak_test,看到(base)变成了(ak_test),说明已经进入了ak_test环境。

安装akshare
这步每个人都不一样,按需要安装自己要的库。科学计算类的库Anaconda是预装的,安装更简单。
我建立这个环境是要使用akshare,安装,报错time out


是国内网络问题,使用阿里云镜像进行安装,命令如下
pip install akshare -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com --upgrade


安装成功!
使用akshare
下面两个小例子展示akshare库的功能。
股票策略指数曲线
aksharetest.py
import akshare as ak
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
stock_df = ak.zdzk_fund_index(30, plot=False)
futures_df = ak.zdzk_fund_index(32, plot=False)
fig = plt.figure(111, figsize=(20, 10), dpi=300)
adjust_stock_df = stock_df["20150102":] / stock_df["20150102"] * 1000
adjust_stock_df.plot(linewidth=4)
adjust_futures_df = futures_df["20150102":] / futures_df["20150102"] * 1000
adjust_futures_df.plot(linewidth=4)
plt.title("index example")
plt.legend()
plt.show()

会画出图片

股票指数查询
aksharetest02.py
import akshare as ak
stock_df = ak.stock_zh_index_spot()
print(stock_df)

ak_test环境和base是隔离的
如果执行conda deactivate离开这个环境切换到(base)环境,可以看到找不到akshare模块,说明base和ak_test环境是隔离的。

自建环境像是新建了个虚拟机
下面是vmware的虚拟机文件目录和Anaconda的自建环境文件目录,是不是有点像


总结

Anaconda可以迅速建立一套Python的开发运行环境,环境和宿主机互不影响,所建不同环境之间也互不影响,少了很多Python和库版本上的牵绊。
它在包管理上的使用,本文没有涉及。如果需要的库是anaconda里面预装的库和包,过程比本文要简单,堪称一键装机。
Anaconda安装和使用 akshare获取股票数据的更多相关文章
- Python股票分析系列——系列介绍和获取股票数据.p1
本系列转载自youtuber sentdex博主的教程视频内容 https://www.youtube.com/watch?v=19yyasfGLhk&index=4&list=PLQ ...
- 实时获取股票数据,免费!——Python爬虫Sina Stock实战
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 实时股票数据的重要性 对于四大可交易资产:股票.期货.期权.数字货币来说,期货.期权.数字货币,可以从交 ...
- R获取股票数据
R中好几个Pkg都提供了股票数据的在线下载方法,如果非得在其中找出一个最好的,那么quantmod当之无愧!举一个例子,譬如下载沪市大盘数据,代码可以是: library(quantmod)SSE & ...
- 一个采用python获取股票数据的开源库,相当全,及一些量化投资策略库
tushare: http://tushare.waditu.com/index.html 为什么是Python? 就跟javascript在web领域无可撼动的地位一样,Python也已经在金融量化 ...
- Python3获取股票行情数据(中国个股/中国指数/全球指数)
#!/usr/local/bin/python3 #coding=utf-8 #source http://www.cnblogs.com/txw1958/ import os, io, sys, r ...
- Python使用TuShare将股票数据保存到Oracle数据
TuShare是个获取股票数据的模块包,我们进行分析,需要将股票数据保存到本地,避免每次都从网上获取,由于本机装有ORCALE,以ORACLE为例介绍如何保存股票数据到本地. 一.大致思路:我们先获取 ...
- 腾迅股票数据接口 http/javascript
腾迅股票数据接口 http/javascript 分类: Finance Perl2012-12-21 23:48 31132人阅读 评论(3) 收藏 举报 之前使用了新浪的股票数据,由于新浪http ...
- 数据接口-免费版(股票数据API)
获取股票数据的源头主要有:数据超市.雅虎.新浪.Google.和讯.搜狐.ChinaStockWebService.东方财富客户端.证券之星.网易财经. 数据超市 2016年5月6日更新.根据最近频繁 ...
- 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)
最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Pyth ...
随机推荐
- Mybatis源码学习第七天(插件开发原理)
插件概述: 插件是用来改变或者扩展mybatis的原有功能,mybatis的插件就是通过继承Interceptor拦截器实现的,在没有完全理解插件之前j禁止使用插件对mybatis进行扩展,有可能会导 ...
- 大神Java8写了一段逻辑,我直呼看不懂
业务背景 首先,业务需求是这样的,从第三方电商平台拉取所有订单,然后保存到公司自己的数据库,需要判断是否有物流信息,如果有物流信息,还需要再进行上传. 而第三方接口返回的数据是 JSON 格式的,其中 ...
- 反序列化之PHP
反序列化漏洞 #PHP反序列化 原理:未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入,目录遍历等不可控后果.在反序列化的过程中自动触发了某些魔术方法. ...
- [Leetcode]225. 用队列实现栈 、剑指 Offer 09. 用两个栈实现队列
##225. 用队列实现栈 如题 ###题解 在push时候搞点事情:push时入队1,在把队2的元素一个个入队1,再交换队2和队1,保持队1除pushguocheng 始终为空. ###代码 cla ...
- [程序员代码面试指南]递归和动态规划-换钱的方法数(DP,完全背包)
题目描述 给定arr,arr中所有的值都为正数且不重复.每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim,求组成aim的方法数. 解题思路 完全背包 和"求换钱的 ...
- shell变量操作${}详细用法
${}基本功能 一般情况下$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围 [root@localhost ~]# A=Linux [root@localhost ~] ...
- 说说我对 WSGI 的理解
先说下 WSGI 的表面意思,Web Server Gateway Interface 的缩写,即 Web 服务器网关接口. 之前不知道 WSGI 意思的伙伴,看了上面的解释后,我估计也还是不清楚,所 ...
- 人工智能顶级会议最佳论文里的“DaDianNao”是什么鬼?
最近对人工智能领域的 AI 加速芯片感兴趣,在翻阅 Google 的第一代 TPU 论文时,在相关工作中看到了 DaDianNao,PuDianNao,ShiDianNao.看的我一脸懵逼,这是什么? ...
- 群光电子-koremes3 ORA-600 [kjxmgmb_nreq:!bat]
Bug 20250147 ORA-600 [kjxmgmb_nreq:!bat] can occur in RAC crashing the instance This note gives a ...
- 几个超级实用但很少人知道的 VS 技巧[更新]
大家好,今天分享一些实用的 VS 技巧,而这些技巧我发现很多人都不知道.因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS "骚"操作,他们 ...