精华内容
下载资源
问答
  • python 股票数据接口Note from the editors: Towards Data Science is a Medium publication primarily based on the study of data science and machine learning. We are not health professionals or ...

    python 股票数据接口

    Note from the editors: Towards Data Science is a Medium publication primarily based on the study of data science and machine learning. We are not health professionals or epidemiologists, and the opinions of this article should not be interpreted as professional advice. To learn more about the coronavirus pandemic, you can click here.

    编辑注意: 《迈向数据科学》 是一本中等出版物,主要基于对数据科学和机器学习的研究。 我们不是卫生专业人员或流行病学家,因此本文的观点不应被解释为专业建议。 要了解有关冠状病毒大流行的更多信息,请单击 此处

    The goal of COVID-19 Data Hub is to provide the research community with a unified dataset by collecting worldwide fine-grained case data, merged with exogenous variables helpful for a better understanding of COVID-19. Please agree to the Terms of Use and cite the following reference when using it:

    COVID-19数据中心的目标是通过收集全球范围内的细粒度病例数据,并与有助于更好地理解COVID-19的外生变量合并,为研究社区提供统一的数据集 。 请同意使用条款,并在使用时引用以下参考资料:

    Guidotti, E., Ardia, D., (2020). COVID-19 Data Hub Journal of Open Source Software, 5(51):2376 https://doi.org/10.21105/joss.02376

    Guidotti,E.,Ardia,D.,(2020年)。 COVID-19 Data Hub Journal of Open Source Software5 (51):2376 https://doi.org/10.21105/joss.02376

    设置和使用 (Setup and usage)

    Install from pip with

    pip安装

    pip install covid19dh

    Importing the main function covid19()

    导入主要功能covid19()

    from covid19dh import covid19
    x, src = covid19()

    返回值 (Return values)

    The function covid19() returns 2 pandas dataframes:

    函数covid19()返回2个熊猫数据帧:

    • the data and

      数据和
    • references to the data sources.

      对数据源的引用。

    参数化 (Parametrization)

    国家 (Country)

    List of country names (case-insensitive) or ISO codes (alpha-2, alpha-3 or numeric). The list of ISO codes can be found here.

    国家名称(不区分大小写)或ISO代码(alpha-2,alpha-3或数字)的列表。 ISO代码列表可在此处找到。

    Fetching data from a particular country:

    从特定国家/地区获取数据:

    x, src = covid19("USA") # Unites States

    Specify multiple countries at the same time:

    同时指定多个国家/地区:

    x, src = covid19(["ESP","PT","andorra",250])

    If country is omitted, the whole dataset is returned:

    如果省略country ,则返回整个数据集:

    x, src = covid19()

    原始数据 (Raw data)

    Logical. Skip data cleaning? Default True. If raw=False, the raw data are cleaned by filling missing dates with NaN values. This ensures that all locations share the same grid of dates and no single day is skipped. Then, NaN values are replaced with the previous non-NaN value or 0.

    逻辑上。 跳过数据清理? 默认True 。 如果raw=False ,则通过使用NaN值填充缺失的日期来清理原始数据。 这样可以确保所有地点共享相同的日期网格,并且不会跳过任何一天。 然后,将NaN值替换为先前的非NaN值或0

    x, src = covid19(raw = False)

    日期过滤器 (Date filter)

    Date can be specified with datetime.datetime, datetime.date or as a str in format YYYY-mm-dd.

    可以使用datetime.datetimedatetime.date或以YYYY-mm-dd格式的str来指定datetime.datetime

    from datetime import datetime
    x, src = covid19("SWE", start = datetime(2020,4,1), end = "2020-05-01")

    水平 (Level)

    Integer. Granularity level of the data:

    整数。 数据的粒度级别:

    1. Country level

      国家一级
    2. State, region or canton level

      州,地区或州级别
    3. City or municipality level

      城市或市政级别
    from datetime import date
    x, src = covid19("USA", level = 2, start = date(2020,5,1))

    快取 (Cache)

    Logical. Memory caching? Significantly improves performance on successive calls. By default, using the cached data is enabled.

    逻辑上。 内存缓存? 大大提高了后续呼叫的性能。 默认情况下,启用使用缓存的数据。

    Caching can be disabled (e.g. for long running programs) by:

    可以通过以下方式禁用缓存(例如,对于长时间运行的程序):

    x, src = covid19("FRA", cache = False)

    年份酒 (Vintage)

    Logical. Retrieve the snapshot of the dataset that was generated at the end date instead of using the latest version. Default False.

    逻辑上。 检索在end日期而不是使用最新版本生成的数据集的快照。 默认为False

    To fetch e.g. US data that were accessible on 22th April 2020 type

    例如获取在2020年4月22日可以访问的美国数据,请输入

    x, src = covid19("USA", end = "2020-04-22", vintage = True)

    The vintage data are collected at the end of the day, but published with approximately 48 hour delay, once the day is completed in all the timezones.

    每天结束时收集年份数据,但是一旦在所有时区中完成了一天,发布时间就会延迟约48小时。

    Hence if vintage = True, but end is not set, warning is raised and None is returned.

    因此,如果vintage = True ,但未设置end则会发出警告,并且None返回None

    x, src = covid19("USA", vintage = True) # too early to get today's vintageUserWarning: vintage data not available yet

    数据源 (Data Sources)

    The data sources are returned as second value.

    数据源作为第二个值返回。

    from covid19dh import covid19
    x, src = covid19("USA")
    print(src)

    结论 (Conclusions)

    COVID-19 Data Hub harmonizes the amount of heterogeneous data that have become available around the pandemic. It represents a first effort towards open public data standards and sharing in light of COVID-19. Publications using COVID-19 Data Hub are available here.

    COVID-19数据中心协调了大流行周围已经可用的异构数据量。 它代表着根据COVID-19迈向开放公共数据标准和共享的第一步。 此处提供使用COVID-19数据中心的出版物。

    致谢 (Acknowledgments)

    COVID-19 Data Hub is supported by the Institute for Data Valorization IVADO, Canada. The covid19dh package was developed by Martin Beneš.

    加拿大数据评估协会IVADO支持COVID-19数据中心。 该covid19dh包被开发的马丁·贝奈斯

    [1] Guidotti, E., Ardia, D., (2020). COVID-19 Data Hub, Journal of Open Source Software, 5(51):2376

    [1] Guidotti,E.,Ardia,D。,(2020年)。 COVID-19数据中心 ,开源软件杂志,5(51):2376

    翻译自: https://towardsdatascience.com/python-interface-to-covid-19-data-hub-c2b3f69497af

    python 股票数据接口

    展开全文
  • 大家好,我是章鱼猫。...AkShare 是基于 Python 的开源金融数据接口库,目的是实现对股票,期货,期权,基金,债券,外汇等金融产品和另类数据从数据采集,数据清洗到数据下载的工具,满足金融数据科学家,数据科学...

    大家好,我是章鱼猫。今天给大家带来的这个开源项目,是来自于读者的投稿。这位开源项目的作者维护这个库,应该很不容易,做的非常不错,还有自己的文档官网,可见非常用心。

    今天给大家带来的开源项目叫:AkShare 。

    AkShare 是基于 Python 的开源金融数据接口库,目的是实现对股票,期货,期权,基金,债券,外汇等金融产品和另类数据从数据采集,数据清洗到数据下载的工具,满足金融数据科学家,数据科学爱好者在数据获取方面的需求。

    AkShare 的特点是获取的是相对权威的金融数据网站公布的原始数据,广大数据科学家可以利用原始数据进行各数据源之间的交叉验证,进而再加工,从而得出科学的结论。

    该开源项目的功能特点如下:基于 Python 语言构建,简单易学,支持 Python3.6+;

    一行代码获取所需要的数据,库下载量已经达到 16 万次;

    所有数据接口均有详细的文档,文档总字数超过 10 万字;

    接口数据类型丰富:

    这个开源库说简单点,说白了就是专门为大家提供数据的,并且给大家提供了接口文档,大家想要看什么数据,直接调取就行。而这些数据都是基于股票,期货,期权,基金,债券,外汇等金融产品的金融数据库,所以,对于金融感兴趣的朋友,或者想利用金融数据做个项目的朋友,可以参考一下这个开源项目。

    开源作者:Albert King

    今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言、点赞和转发关注是我持续更新的动力哦!

    最后,更多优质文章和内容,更多开源推荐,欢迎大家优先关注我的公众号:非著名程序员。

    展开全文
  • 目标从互联网(网易数据接口)获取股票历史数据,包括开盘价、最高价、最低价、收盘价等等环境Python 3.6MySQL 5.6.34table: stock_list记录数:3592 条,以该表为基础,制作 mission 清单。table: stock_list_...

    目标

    从互联网(网易数据接口)获取股票历史数据,包括开盘价、最高价、最低价、收盘价等等

    环境

    Python 3.6

    MySQL 5.6.34

    table: stock_list

    bV3XbB?w=755&h=692

    记录数:3592 条,以该表为基础,制作 mission 清单。

    table: stock_list_20190209( mission list )

    bV3Xb3?w=870&h=714

    从这个表里,每次读取一定数量的记录,依次从互联网上获取。

    code: getStockData.py

    '''

    《获取股票历史市值》

    Created on 2018年2月12日

    @author: Livon

    # 读取 股票列表,含代码及 上市日期、终止上市日期

    (1)列表

    每次执行前,手工新建一个当前日期的表,如果存在就删除重建(可能是执行一个存储过程)

    表名:stock_list_20180212 // 股票列表

    表字段:id, 股票代码, 是否顺利完成,获取记录数量

    每次取一条记录,依次执行,中断了,下次可以从中断处继续。

    (2)

    每条记录,按指定日期范围进行获取

    再建

    # 从网易数据接口拉取市值数据

    # 存入表 stock_his_marketCap 中

    '''

    import util

    import urllib

    import csv

    import time

    import datetimeUtil

    from urllib import request

    jobListTable = 'stock_list_20180209'

    def p( msg ):

    print( '%s - %s' % ( datetimeUtil.getDatetime(), msg ))

    def startJob():

    # 从数据池中读取 n 记录

    missionList = util.getMissionList( jobListTable )

    # 循环处理上述的 n 条记录

    for mission in missionList:

    # for value in row:

    # print( value )

    # 根据记录生成一条 url,一个 url 可以获取几千条日记录

    url = util.genUrl( mission )

    # url = 'http://quotes.money.163.com/service/chddata.html?code=1000001&start=19910401&end=19910409'

    # url += '&fields=LCLOSE;TOPEN;HIGH;LOW;TCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP'

    # print( dt(), ' - ', url )

    p( 'url: %s' % url )

    # 从互联网上获取股票数据

    dataList = util.getStockDataList( url )

    if( dataList != None ):

    # 将数据保存在目标表:股票历史数据表中

    insertedRows = util.insertTable( dataList )

    # 更新 mission List 状态标志列

    util.updateJobList( jobListTable, mission, insertedRows )

    else :

    p( 'csv 文件无数据。' )

    p('standby a moment for next mission( you can terminal the program at this time).')

    time.sleep(3)

    # main

    for i in range( 0, 2 ):

    p( 'startJob: %s' % str(i) )

    startJob()

    # done

    print( '= = = = = = = = = = = = = = = = = = = = = = ' )

    p( 'all done !')

    print( '= = = = = = = = = = = = = = = = = = = = = = ' )

    code: util.py

    '''

    Created on 2018年2月11日

    @author: Livon

    '''

    import urllib.request

    import re

    import pymysql

    from urllib import request

    # from stock.获取股票历史市值 import datetimeUtil

    import datetimeUtil

    def p( msg ):

    print( '%s - %s' % ( datetimeUtil.getDatetime(), msg ))

    # 任务清单,每一次任务会领一份任务清单,清单中的第一项,是一个股票

    # 任务:job - 大循环

    # 目标:mission - 小目标

    # missionList - 目标清单

    # getMissionList

    # 参数:tableName 表名

    def getMissionList( tableName ):

    rowsCount = '5' ;

    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='stock', charset='utf8')

    # 创建游标

    # cursor = conn.cursor()

    cursor = conn.cursor()

    # sql='select * from '+ tableName +' where doneTime is NULL limit ' + rowsCount

    sql = 'select * from %s where doneTime is NULL limit %s' % ( tableName, rowsCount )

    cout = cursor.execute(sql)

    # print("数量: "+str(cout))

    rows = cursor.fetchall();

    # rows = conn.cursor().execute( sql ).fetchall()

    # for row in rows:

    # print("stockCode: "+str(row[0])+' stockName: '+row[1]+" startDate: "+ str(row[2]))

    cursor.close()

    #

    # try:

    # #获取一个游标

    # with conn.cursor() as cursor:

    # sql='select * from '+ tableName +' where doneTime is NULL limit 1'

    # cout=cursor.execute(sql)

    # print("数量: "+str(cout))

    #

    # for row in cursor.fetchall():

    # #print('%s\t%s\t%s' %row)

    # #注意int类型需要使用str函数转义

    # print("stockCode: "+str(row[0])+' stockName: '+row[1]+" startDate: "+ str(row[2]))

    # # conn.commit()

    #

    # finally:

    # print( 'done' )

    cursor.close()

    conn.close()

    # print( datetimeUtil.getDatetime(), ' - 任务清单装载完毕!任务数量:', str( len( rows )) )

    # print( '%s - %s missons loaded.' % ( datetimeUtil.getDatetime(), str( len( rows )) ) )

    p( '%s missons loaded.' % str( len( rows ) ))

    return rows

    # 生成网址

    def genUrl( row ):

    stockCode = row[0]

    startDate = str( row[2] ).replace('-','')

    # endDate = ( row[3] == 'None' )? '': row[3]

    # endDate = ( row[3] == None ) and '' or row[3]

    endDate = ( row[3] == None ) and row[3] or ''

    dataSource = row[4]

    # True and "Fire" or "Water"

    # print( row[3] is 'None')

    # print( row[3] is None )

    # print( row[3] is '' )

    # print( type( row[3] ) )

    # print( type( row[3] ) is None )

    # print( type( row[3] ) is 'NoneType' )

    url = 'http://quotes.money.163.com/service/chddata.html?code=%s%s&start=%s&end=%s'

    url = url % ( dataSource, stockCode, startDate, endDate )

    url += '&fields=LCLOSE;TOPEN;LOW;HIGH;TCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP'

    return url

    def getCsv( url ):

    # csv = csv.decode('gbk')

    #

    # csv_str = str(csv)

    # lines = csv_str.split("\\n")

    #

    # print( len( lines))

    return ''

    # 从互联网上获取数据

    def getStockDataList( url ):

    print( datetimeUtil.getDatetime(), ' - ', '准备从互联网获取数据 ...' )

    # http = urllib3.PoolManager()

    # r = http.request('GET', url )

    # url="http://www.example.com/"

    # headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}

    # try:

    # req = urllib3.request(url, headers )

    # # req=urllib2.Request(url,headers=headers)

    # response = urllib3.request2.urlopen(req)

    # except urllib3.exceptions,e:

    # print e.reason

    dataList = None

    try:

    response = request.urlopen( url )

    csv = response.read()

    csv = csv.decode('gbk')

    # csv = csv.decode('iso-8859-1')

    csv_str = str(csv)

    # print( type( csv ))

    if( len( csv_str ) < 1 ):

    print( '获取失败' )

    # print( csv_str )

    # lines = csv_str.split("\\n")

    lines = csv_str.splitlines()

    # print( '行数:' + str( len( lines )))

    dataList = []

    for line in lines:

    # print( line )

    dataRow = line.split(',')

    # print( dataRow[0] )

    dataObj = {}

    dataObj['日期'] = dataRow[0]

    dataObj['股票代码'] = dataRow[1]

    dataObj['名称'] = dataRow[2]

    dataObj['前收盘'] = dataRow[3]

    dataObj['开盘价'] = dataRow[4]

    dataObj['最高价'] = dataRow[5]

    dataObj['最低价'] = dataRow[6]

    dataObj['收盘价'] = dataRow[7]

    dataObj['涨跌额'] = dataRow[8]

    dataObj['涨跌幅'] = dataRow[9]

    dataObj['换手率'] = dataRow[10]

    dataObj['成交量'] = dataRow[11]

    dataObj['成交金额'] = dataRow[12]

    dataObj['总市值'] = dataRow[13]

    dataObj['流通市值'] = dataRow[14]

    dataList.append(dataObj)

    except Exception as e:

    print( e )

    return dataList

    def netEaseUrl( stockCode, startDate, endDate ):

    url = 'http://quotes.money.163.com/service/chddata.html?code=%s&start=%s&end=%s&fields='

    url = url % ( stockCode, startDate, endDate )

    print( url )

    return url

    def receiveCsv( url ):

    # http://www.cnblogs.com/sysu-blackbear/p/3629420.html

    stockDataResponse = urllib.request.urlopen( url )

    stockData = stockDataResponse.read()

    # stockData = stockDataResponse.decode('utf8')

    stockData = stockData.decode('gb2312')

    # stockData = stockData.decode('gb2312')

    # print( stockData )

    return stockData

    '''

    '''

    def getStockList():

    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='stock', charset='utf8')

    # 创建游标

    # cursor = conn.cursor()

    try:

    #获取一个游标

    with conn.cursor() as cursor:

    sql='select * from stock_list'

    cout=cursor.execute(sql)

    print("数量: "+str(cout))

    for row in cursor.fetchall():

    #print('%s\t%s\t%s' %row)

    #注意int类型需要使用str函数转义

    print("stockCode: "+str(row[0])+' stockName: '+row[1]+" startDate: "+ str(row[2]))

    # conn.commit()

    finally:

    cursor.close()

    conn.close()

    def dbStore( str_stocks ):

    print( type( str_stocks ))

    stocks = re.findall("\[(.*?)\]",str_stocks )

    stocks = re.findall("{(.*?)}",stocks[0])

    # 创建连接

    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='stock', charset='utf8')

    # 创建游标

    cursor = conn.cursor()

    for i in range( 0, len( stocks ) ):

    print( 'No.' + str(i))

    properties = stocks[i].split(',')

    # print( properties )

    # print( type( properties ))

    # effect_rows = insertDb( properties, cursor )

    # time.sleep(1)

    # 提交,不然无法保存新建或者修改的数据

    conn.commit()

    # 关闭游标

    cursor.close()

    # 关闭连接

    conn.close()

    return ''

    def updateJobList( jobListTable, row, insertedRows ):

    # 创建连接

    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='stock', charset='utf8')

    # 创建游标

    cursor = conn.cursor()

    # otherStyletime == "2013-10-10 23:40:00"

    # sql ='update ' + jobListTable + ' set doneTime = "' + otherStyleTime + '" where stockCode = "' + row[0] + '"'

    sql = 'update %s set doneTime = "%s" , receivedRows = %s where stockCode = "%s"' % ( jobListTable, datetimeUtil.getDatetime(), insertedRows, row[0] )

    print( datetimeUtil.getDatetime(), ' - 更新任务清单:', sql )

    effect_row = cursor.execute( sql )

    conn.commit()

    # 关闭游标

    cursor.close()

    # 关闭连接

    conn.close()

    def insertTable( dataList ):

    # 创建连接

    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='stock', charset='utf8')

    # 创建游标

    cursor = conn.cursor()

    insertedRows = 0

    for i in range( 1, len( dataList )):

    for (k,v) in dataList[i].items():

    # print( "dataList[i][%s]=" % k,v )

    # print( v )

    if( v == 'None' ):

    # print('Change to NULL')

    dataList[i][k] = 'NULL'

    # for data in dataList[i]:

    # print( data. )

    # data = ( data == None ) and data or 'NULL'

    sql = 'INSERT INTO stock_his_data ( '

    sql += '日期,'

    sql += '股票代码,'

    sql += '名称,'

    sql += '前收盘,'

    sql += '开盘价,'

    sql += '最低价,'

    sql += '最高价,'

    sql += '收盘价,'

    sql += '涨跌额,'

    sql += '涨跌幅,'

    sql += '换手率,'

    sql += '成交量,'

    sql += '成交金额,'

    sql += '总市值,'

    sql += '流通市值'

    sql += ' ) '

    sql += 'VALUES'

    sql += ' ( '

    sql += '"' + dataList[i]['日期'] + '",'

    sql += '"' + dataList[i]['股票代码']+ '",'

    sql += '"' + dataList[i]['名称'] + '",'

    sql += dataList[i]['前收盘'] + ' ,'

    sql += dataList[i]['开盘价'] + ' ,'

    sql += dataList[i]['最低价'] + ' ,'

    sql += dataList[i]['最高价'] + ' ,'

    sql += dataList[i]['收盘价'] + ' ,'

    sql += dataList[i]['涨跌额'] + ' ,'

    sql += dataList[i]['涨跌幅'] + ' ,'

    sql += dataList[i]['换手率'] + ' ,'

    sql += dataList[i]['成交量'] + ' ,'

    sql += dataList[i]['成交金额']+ ' ,'

    sql += dataList[i]['总市值'] + ' ,'

    sql += dataList[i]['流通市值']

    sql += ' ) '

    # print( sql )

    effect_row = cursor.execute( sql )

    if( effect_row > 0 ):

    insertedRows += 1

    print( datetimeUtil.getDatetime(), ' - 数据数量:', insertedRows )

    #

    # 提交,不然无法保存新建或者修改的数据

    conn.commit()

    # 关闭游标

    cursor.close()

    # 关闭连接

    conn.close()

    # arr_values = []

    # arr_columns = []

    #

    # for j in range( 0, len( properties) ):

    #

    # # print( 'propertie['+ str(j)+']: ' + properties[j] )

    # # key_value = properties[j].split(':')

    # # print( key_value[0] + ' -> ' + key_value[1] )

    # key = properties[j][:properties[j].find(':')]

    # value = properties[j][properties[j].find(':')+1:]

    # value = value.replace('"', '')

    # # print( key + ' -> ' + value )

    # # sql += '"' + value + '"'

    # arr_columns.append( '`' + key + '`' )

    # # arr_columns.append( key )

    # arr_values.append( '"' + value + '"' )

    #

    # sql = 'insert into stock_sina '

    # sql = sql + ' ( ' + ','.join( arr_columns ) + ' ) VALUES ( ' + ','.join( arr_values ) + ' ) '

    # print( sql )

    # effect_row = cursor.execute( sql )

    return insertedRows

    code: datetimeUtil.py

    '''

    Created on 2018年2月14日

    @author: Livon

    '''

    import time

    def getDatetime():

    timeArray = time.localtime( time.time() )

    otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)

    return otherStyleTime

    最终得到的数据:table: stock_his_data

    bV3Xcz?w=1611&h=876

    记录总数:9045612(九百万)

    展开全文
  • Finance这是一个python股票数据收集和分析系统,我们使用tushare开源接口,定时的是爬取数据保存到数据库中,然后我们拿数据库中的数据用来分析策略。愿景希望有人用它,希望更多的人用它。希望它能帮助到别人项目...

    Finance

    这是一个python股票数据收集和分析系统,我们使用tushare开源接口,定时的是爬取数据保存到数据库中,然后我们拿数据库中的数据用来分析策略。

    愿景

    希望有人用它,希望更多的人用它。

    希望它能帮助到别人

    项目简介

    系统需求

    python3.6

    Flask

    tushare

    pandas

    Flask-APScheduler

    Flask-Security

    Flask-Mail

    Flask-session

    SQLAlchemy

    Jinja2

    Flask-Login

    redis

    前端技术

    layui

    jquery

    echarts

    功能简介

    任务调度调度,定时爬取数据到数据库

    使用echarts图形化展现数据

    用户权限控制

    使用redis存储session

    下次更新功能

    系统资源配置

    邮件通知功能

    密码修改

    2019-06-30更新

    用户菜单鉴权

    403\404\500页面

    菜单页面添加调整

    2019-06-25更新

    新增主页系统资源监控

    增加flask-socketIO推送消息

    新增管理员管理

    新增角色管理

    新增菜单管理

    新增redis存储session

    2019-05-26更新

    更换后台界面 X-admin

    更改文件目录

    新增日线行情K线图

    更新菜单分类列表

    项目部署

    配置数据库文件config.py ,并且导入数据库脚本在db目录下

    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:xxxx@localhost:3306/finance?charset=utf8'

    1.下载项目到本地,以下是把项目克隆到本地

    git clone https://gitee.com/zcm2015/finance.git

    2.安装虚拟环境

    pip install virtualenv

    virtualenv venv

    -windows:进到venv目录里,的Script文件夹输入:activate

    -linux:soruse venv/Script/activate

    3.安装依赖包

    pip install -r requirements.txt

    4.初始化数据库,在项目根目录执行

    python manager.py create_db

    5.导入db脚本

    脚本在db目录下:finance.sql

    6.启动redis服务端,默认端口:6379 ,如果设置密码的话请到config.py文件修改密码

    SESSION_REDIS = redis.Redis(host='127.0.0.1', port='6379', password='', db=0)

    7.启动项目,在项目根目录执行

    python manager.py runserver

    8.访问项目地址

    http://localhost:5000

    9.注册用户

    登录按钮下面有个‘立刻创建’

    10.菜单鉴权

    包头引入:from app.main.utils.decorators import auth

    在方法上面加@auth

    截图截图

    224716_ae553d45_387233.png

    225247_e0a11c4b_387233.png

    225303_6271db75_387233.png

    225322_754419c3_387233.png

    232656_7f8ae03c_387233.png

    232829_43c0317c_387233.png

    232905_a0f65011_387233.png

    232913_8a0ab6d9_387233.png

    233102_06f41441_387233.png

    展开全文
  • MySQL数据库pandas提供了将数据便捷存入关系型数据库的方法,在新版的pandas...本例以MySQL数据库为代表,展示将获取到的股票数据存入数据库的方法,其他类型数据库请参考sqlalchemy官网文档的create_engine部分。fro...
  • python财经数据接口包Tushare pro的入门及简单使用方式(大数据,股票数据接口).pdf
  • python数据获取 5
  • 原标题:Python股票数据分析数据挖掘入门与实战 公众号: datadwpython版本:3.4最近在学习基于python的股票数据分析,其中主要用到了tushare和seaborn。tushare是一款财经类数据接口包,国内的股票数据还是比较全的...
  • Python财经数据接口包TuShare的使用TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据。...
  • 广告关闭腾讯云11.11云上盛惠 ,精选...sina股票实时数据接口eg:http:hq.sinajs.cnlist=sh600389返回gb2312编码的内容:var hq_str_sh600389=江山股份,15.31,15.74,15.68,16.02,15.16,15.68,15.69,4044916,62900903...
  • #部分网站api数据有bug,这个bug问题不是自身程序的问题,而是第三方公司股票的问题 author = ‘nooper’ import re ...“处理腾讯股票数据接口信息” regex = re.compile(r’"(.*)"’) result = re
  • 安装TuShare方式1:pip install tushare方式2:访问...下载安装方式3:将源代码下载到本地python setup.py install安装lxmlimport tushare as tsdf = ts.get_hist_data('600848')ts.get_hist_data('600848',kt...
  • tushare开源股票交易接口基于python实现技术怎样在tushare中完成股票实盘交易其实,如何使用实盘交易功能接口,与通过tushare获取数据一样简单,先看一下几个关键接口的使用方法:1.与取数据一样,先导入tushare包2....
  • 说明从 sina 的数据接口获取数据,之后,保存到 MySql 数据库文件:getDataFromSina.py'''Created on 2018年2月11日@author: Livon'''import utilimport timefor i in range( 1, 9999 ):print( time.strftime('%H:%M...
  • 使用python爬取雪球任意股票数据前言找接口使用接口前言当我们想对股票数据python爬取的时候,总是找不到好的获取数据,有一些相关的包,tushare等,但是它有限股票数据就没有,比如我最近在爬的SZ159915,在...
  • pandas_datareader(可以查询雅虎的股票数据接口)。本篇参考了猴子老师的课程(统计概率思维:描述统计学),选取了5家美股和1家A股进行历史数据的分析,以下为其中3家的代码展示。先导入所需的数据分析包,建立...
  • 东方财富 股票数据接口_是上就以您编为小"爆发自贸扩容区来的带扩贸区自8至1容贸 自个股概念区中将集或涨概念上涨股发上爆"全部内容容多内更注请关敬资票配股门户!团风集暴披按期未报定期露信涉嫌告披违规会证监被...
  • 项目介绍看到标题大家的第一反应...Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据...
  • python版本:3.4最近在学习基于python股票数据分析,其中主要用到了tushare和seaborn。tushare是一款财经类数据接口包,国内的股票数据还是比较全的,官网地址:http://tushare.waditu.com/index.html#id5 。...
  • 最近在做一个项目,需要用到股票的数据,我在网上查了很久,最终发现在股票数据上面还是tushare比较专业,而且对于将来做金融行业的大数据这一块的,tushare绝对是你的一个好帮手,所以下面我就简单介绍一下。...
  • Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据
  • Python调用新浪、网易、腾讯的股票Tick数据接口
  • 广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起... 闲来无趣上网查了有没有提供股市数据接口的网站,就发现了一个“tushare”的数据网站,并且该网站还提供了python对应的模板,获取数据...
  • 「Tushare」是云观测提供免费开源的python财经数据接口包,主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大...
  • Python TuShare股票财经数据接口

    千次阅读 2018-10-04 15:30:12
    TuShare是一个著名的免费、开源的python财经数据接口包。其官网主页为:TuShare -财经数据接口包。该接口包如今提供了大量的金融数据,涵盖了股票、基本面、宏观、新闻的等诸多类别数据(具体请自行查看官网),并还...
  • 于是在网上找找有没现成的数据接口,好做数据分析,发现了这个好东西,分享一下。Tushare介绍:Tushare是一个开发的的平台,重点是免费的,免费的,免费的,重要的事情说三遍。现在是 Pro版了,数据会更稳定和完善。...
  • Finance这是一个python股票数据收集和分析系统,我们使用tushare开源接口,定时的是爬取数据保存到数据库中,然后我们拿数据库中的数据用来分析策略。愿景希望有人用它,希望更多的人用它。希望它能帮助到别人项目...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,906
精华内容 2,362
关键字:

python股票数据接口

python 订阅