失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 基于股票大数据分析的Python入门实战(实践记录)(持续更新)

基于股票大数据分析的Python入门实战(实践记录)(持续更新)

时间:2018-10-28 07:27:59

相关推荐

基于股票大数据分析的Python入门实战(实践记录)(持续更新)

文章目录

环境第五章成功6:失败4:pandas_datareadertusharepandas_datareader不准备解决tushare解决第8章 数据库操作与绘制MACD线第11章 用BIAS范例讲述Django框架安装并创建项目运行项目

胡书敏. 基于股票大数据分析的Python入门实战(视频教学版)学习记录。

照着书籍一步步做,其中会记录一些实践中遇到的问题。

因为某些工具版本升级或者停止维护,可能会和书中内容有些许出入,因此做个记录。

环境

系统:Ubuntu 18.04.4 LTS

conda:4.10.3

python:3.8.12

pip:21.2.4

第五章

成功6:

$ conda install numpy$ conda install pandas$ conda install requests$ conda install matplotlib

$ python urllibDemo.py$ python urllibWithParam.py$ python getStockAsCsv.py$ python regexMatchDemo.py $ python regexSplitDemo.py$ python getFromSinaAPI.py

失败4:

pandas_datareader

$ pip install pandas_datareaderSuccessfully installed pandas-datareader-0.10.0$ python getDataByPandasDatareader.py...OSError: [Errno 101] Network is unreachable...

$ python printDataByPandasDatareader.pyModuleNotFoundError: No module named 'pandas_datareader'

tushare

$ python getStockInfoByTS.py 本接口即将停止更新,请尽快使用Pro版接口:https://tushare.pro/document/2...urllib.error.URLError: <urlopen error [Errno -2] Name or service not known>$$$ python printStockCodeByTS.py本接口即将停止更新,请尽快使用Pro版接口:https://tushare.pro/document/2...urllib.error.URLError: <urlopen error [Errno -2] Name or service not known>$ python saveStockToCsvByTS.py 本接口即将停止更新,请尽快使用Pro版接口:https://tushare.pro/document/2

pandas_datareader不准备解决

只是其中一种方式而已,不准备解决了。

tushare解决

ts失败的原因是已经升级为ts pro,需要积分,具体可参考官网。

注册+100积分,完善资料+20积分。可调用基本的接口。

查看api可以看到,调用方式已经改变了。

pro = ts.pro_api()#查询当前所有正常上市交易的股票列表data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')

或者

data = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')

第8章 数据库操作与绘制MACD线

安装mysql,略。<python安装(Ubuntu)>“存储数据——MySql数据库”

创建数据库

一定要指定utf8编码,否则中文会乱码

mysql> CREATE DATABASE pythonStock;mysql> use pythonStock;mysql> CREATE TABLE stockInfo (date VARCHAR(20),open FLOAT,close FLOAT,high FLOAT,low FLOAT, vol INT, stockCode VARCHAR(20)) DEFAULT CHARSET=utf8;;mysql> DESCRIBE stockInfo; +-----------+-------------+------+-----+---------+-------+| Field| Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| date| varchar(20) | YES || NULL | || open| float | YES || NULL | || close| float | YES || NULL | || high| float | YES || NULL | || low | float | YES || NULL | || vol | int(11)| YES || NULL | || stockCode | varchar(20) | YES || NULL | |+-----------+-------------+------+-----+---------+-------+7 rows in set (0.01 sec)

插入数据

mysql> INSERT INTO stockInfo -> VALUES ('0102',15.06,15.93,16.33,14.71,75979904,'600895');

TestMySQLDB.py需要修改成如下方式才可以

#第8行db = pymysql.connect(host="localhost",user="root",passwd="111111",db="pythonStock" )#第13行,我的表名叫stockInfo,I大写cursor.execute("select * from stockInfo")

从文件中加载报错

1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

默认为NULL,表示限制不能导入导出,有值的话,需要将文件放置到值目录下,

mysql> show global variables like '%secure_file_priv%';+------------------+-----------------------+| Variable_name | Value |+------------------+-----------------------+| secure_file_priv | /var/lib/mysql-files/ |+------------------+-----------------------+1 row in set (0.00 sec)

第11章 用BIAS范例讲述Django框架

Django框架的底层实现也是基于WSGI的,由于对WSGI进行了封装,感知不到WSGI规范的存在。

安装并创建项目

$ conda install django$ python djangoDemo.py 3.2.5

$ django-admin startproject MyDjangoApp$ ls MyDjangoApp/manage.py MyDjangoApp$ ls MyDjangoApp/MyDjangoApp/asgi.py __init__.py settings.py urls.py wsgi.py

运行项目

python manage.py migrate需要加上

$ cd MyDjangoApp$ python manage.py migrate$ python manage.py runserver localhost:8080

如果其他主机想要访问,要修改启动方式,并且,修改settings.py

$ python manage.py runserver 0:8000或者$ python manage.py runserver 0.0.0.0:8000

settings.py,找到ALLOWED_HOSTS,里面可以指定哪些IP可以访问,[‘xxx.xxx.xxx.xxx’ ,…, ‘xxx.xxx.xxx.xxx’],或者允许所有主机访问。

ALLOWED_HOSTS = ['*']

如果觉得《基于股票大数据分析的Python入门实战(实践记录)(持续更新)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。