mysql数据库操作

连接mysql

from sqlalchemy import create_engine
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pymssql
from scipy.interpolate import interp1dfrom datetime import timedelta
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] =False
#显示所有列
pd.set_option('display.max_columns',None)
#显示所有行
pd.set_option('display.max_rows',None)#连接数据库
conn = pymssql.connect(host = '.',user ='sa',password = 'test',database = 'databasename',charset ='utf8')
engine = create_engine('mssql+pymssql://sa:test@127.0.0.1/databasename')

数据存入

#保存数据
df.to_sql(name = 'sheetname',con=engine,if_exists='append',index=False)

获取数据

#获取数据
sql = 'select * from stock_data '
df0 = pd.read_sql(sql,conn)

tushare获取股票数据并存入

#获取数据
def get_data(code,start,end):#设置tokentoken=''pro = ts.pro_api(token)df = pro.daily(ts_code =code,adj='qfq',start_date=start,end_date=end)return df#上传数据
def insert_sql(data,db_name,if_exists='append'):try:data.to_sql(db_name,engine,index=False,if_exists= if_exists)except:pass

更新数据

#更新数据
def updata_sql(start,end,db_name):for code in get_coe():data=get_data(code,start,end)insert_sql(data,db_name)print(f'{start}:{end}期间数据已成功更新')

数据可视化 

#数据可视化
def plot_data(df):count_ = data_info.groupby('trade_date')['ts_code'].count()attr = count_.indexv1 = count_.valuesbar = Bar()bar.add('',at,v1,is_splitline_show=False,linewidth=2)return bar

筛选股票池

#筛选数据.制作股票池
def get_new_code(date):df0  = pro.stock_basic(exchange = '',list_status='L')df1 =  pro.daily(trade_date = date)df = pd.merge(df0,df1,on='ts_code')#print(df.head())df.info()
#剔除2017年以后上市的新股   df = df[df['list_date'].apply(int)<20200101]#剔除stdf = df[-df['name'].apply(lambda x:x.startswith('*ST'))]#剔除动态市盈率为负df = df[df.change>0]codes = df.ts_code.valuesreturn codes

查找指定股票

def find_stock(date):print(get_new_code(date))engine = create_engine('mssql+pymssql://sa:test@127.0.0.1/pos')df_all_data=pd.read_sql('stock_data',engine)f_code =[]for code in  get_new_code(date):try:data = df_all_data.loc[df_all_data.ts_code==code].copy()data.index= pd.to_datetime(data.trade_date)data=data.sort_index()data['ma_20'] = ta.MA(data.close,timeperiod=20)if data.iloc[-1]['close'] > data.iloc[-1]['ma_20']:print(code)f_code.append(code)except:passreturn f_code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AutoHotkey调用VBA实现批量精确筛选数据透视表某字段内容。

如上图&#xff0c;想在数据透视表中只显示红色区域的内容&#xff0c;手动勾选就比较繁琐。 实现思路&#xff1a; 先复制红色的内容。鼠标停留在数据透视表【型号】列的任意数据上&#xff08;通过该单元格可以获取数据透视表和字段&#xff09;由于数据透视表的字段不能全部…

SQL中的case when then else end用法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数…

HEVC/H265 性能分析

HEVC/H265 标准中的目标是&#xff1a;H264的码率一般&#xff0c;质量一样&#xff0c;是否达到&#xff0c;数据说话。 下面是视频编解码大师测试数据&#xff1a; HEVC: is it really twice as good as H.264? The new standard for video compression, High Efficiency V…

“90后”台湾籍乘务长的第一个大陆春运

中新网上海1月25日电 题&#xff1a;“90后”台湾籍乘务长的第一个大陆春运 中新网记者 李佳佳 黄佳莹&#xff0c;“90后”的台北妹子。年纪虽小&#xff0c;资历却不浅&#xff0c;2018年她晋升为春秋航空客舱部乘务长&#xff0c;成为大陆首批台湾籍乘务长之一。“90后”台湾…

mysql+tushare搭建本地数据库

创建股票数据库 #!/usr/bin/env python # -*- coding: utf-8 -*- # Date : 2018-09-04 14:34:59 # Author : Michael Li # Version : $V2.0$import pandas as pd import numpy as np import datetime import random import pymssql from sqlalchemy import create_engine …

hbase单机搭建

一、下载 https://hbase.apache.org/downloads.html  2.1.3版本 解压&#xff0c;拷贝到文件夹 /hbase/hbase-2.1.3 设置HBASE_HOME环境变量&#xff0c;把它加到path环境变量中去 source /etc/profile 二、配置 &#xff11;.在/data下创建目录 mkdir /data/hbase mkdir /d…

mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我的情况 &#xff1a; Mysql 5.7.21 版本运行sql 报错如题&#xff0c;同样的 sql 直接本地运行不报错。 但是当连接的是服务器上的 …

多股票投资组合+马科维茨计算组合

import matplotlib.pyplot as plt from pandas import read_excel import numpy as np import tushare as ts import pandas as pd import datetime token prots.pro_api(token) 获取财务数据 #获取财务数据 ticker_list [601318.SH,601336.SH,601398.SH,601888.SH,603993.S…

并发编程(十六)——java7 深入并发包 ConcurrentHashMap 源码解析

以前写过介绍HashMap的文章&#xff0c;文中提到过HashMap在put的时候&#xff0c;插入的元素超过了容量&#xff08;由负载因子决定&#xff09;的范围就会触发扩容操作&#xff0c;就是rehash&#xff0c;这个会重新将原数组的内容重新hash到新的扩容数组中&#xff0c;在多线…

[边分治+线段树合并]「CTSC2018」暴力写挂

题目梗概 给出两棵1为根的树,求\(d[x]d[y]-d[lca(x,y)]-d[lca(x,y)]\)的最大值 解题思路 套路化简之后\((d[x]d[y]dis(x,y)-2*d[lca(x,y)])/2\) 第二棵树上的lca化不掉,所以考虑在第二棵上枚举lca 先说说这题的解法,边分树的合并. 边分和点分有什么区别,边分在合并类似\(d[x]d[…

HEVC/H265 文档获得

HEVC/H265文档是很重要的标准&#xff0c;因为代码有时由于效率问题而修改&#xff0c;这是最重要的参考&#xff1a; HEVC approved by ITU-T and ISO/IEC "Geneva, 25 January 2013 – A new video coding standard building on the PrimeTime Emmy award winning IT…

期权计算隐含波动率

牛顿迭代法 from scipy.stats import norm import numpy as np def bscall(S,K,r,sigma,t):d1(np.log(S/K)(r0.5*sigma**2)*t)/(sigma*np.sqrt(t))d2d1-sigma*np.sqrt(t)return S*norm.cdf(d1)-K*np.exp(-r*t)*norm.cdf(d2) def bsput(S,K,r,sigma,t):d1(np.log(S/K)(r0.5*sigm…

进击的二维码 | ArcBlock 课堂预告

ArcBlock Technical Learning Series 第十七期进击的二维码本周三&#xff0c;1 月 30 日下午 1:30 时 &#xff08;美国太平洋时间 29日下午 21:30 时&#xff09;&#xff0c;由 ArcBloc 后端工程师孙博山 授课。复制代码二维码源于日本,如今世界各国都在使用。一张简单的二维…

期权数据计算

判断是否为调仓日 ef is_adjust_day(self, dom1):判断是否是每月的调仓日。 :params int dom: 每月第几个交易日进行调仓&#xff0c;缺省是第1个交易日。:return: 如果是调仓日&#xff0c;返回True&#xff0c;否则返回False。ret Falsetoday self.datetime.date()…

由Docker的MySQL官方镜像配置的容器无法启动问题解决办法(修改配置后无法启动)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 为了方便阅读&#xff0c;我在原文基础上加了一些批注&#xff0c;说明我自己的情况&#xff0c;用红色标示。 这篇文章记录了我在使用…

HEVC/H265 主要设计者谈HEVC/H265

Overview of the High Efficiency Video Coding (HEVC) Standard Gary J. Sullivan, Fellow, IEEE, Jens-Rainer Ohm, Member, IEEE, Woo-Jin Han, Member, IEEE, and Thomas Wiegand, Fellow, IEEE Gary J. Sullivan是H263&#xff…

阿里云 Aliplayer高级功能介绍(九):自动播放体验

基本介绍经常会碰到客户询问&#xff0c;为什么我设置了autoplay为true&#xff0c;但是没有自动播放&#xff0c;每次都要向客户解释这个是浏览器从用户体验角度考虑做的限制&#xff0c;客户会继续询问那我要怎么做&#xff1f; 针对这个问题Aliplayer也专们做过优化&#xf…

指数定投(行不行学习)

import tushare as ts import pandas as pd import numpy as np from scipy import stats import tushare as ts import matplotlib.pyplot as plt %matplotlib inline #正常显示画图时出现的中文和负号 from pylab import mpl mpl.rcParams[font.sans-serif][SimHei] mpl…

centOS安装python3.7.2

1.查看centos中自带的Python地址&#xff1a;which python&#xff08;一般在 /usr/bin/python&#xff09; 2.切换到python安装目录&#xff1a;cd /usr/bin 3.查看对应的Python版本指向&#xff1a;ls -l python* 4.创建一个空目录&#xff1a;mkdir /usr/local/python3 5.…

有进度条圆周率Π计算

圆周率π的计算 一、圆周率π的简介 圆周率的介绍圆周率用希腊字母 π&#xff08;读作pi&#xff09;表示&#xff0c;是一个常数&#xff08;约等于3.141592654&#xff09;&#xff0c;是代表圆周长和直径的比值。它是一个即无限不循环小数&#xff0c;在日常生活中&#xf…