当前位置:首页 » 科技股票 » python股票历史价格

python股票历史价格

发布时间: 2023-07-06 00:03:05

❶ 如何用python 取所有股票一段时间历史数据

各种股票软件,例如通达信、同花顺、大智慧,都可以实时查看股票价格和走势,做一些简单的选股和定量分析,但是如果你想做更复杂的分析,例如回归分析、关联分析等就有点捉襟见肘,所以最好能够获取股票历史及实时数据并存储到数据库,然后再通过其他工具,例如SPSS、SAS、EXCEL或者其他高级编程语言连接数据库获取股票数据进行定量分析,这样就能实现更多目的了。

❷ 怎么学python爬取财经信息

本程序使用Python 2.7.6编写,扩展了Python自带的HTMLParser,自动根据预设的股票代码列表,从Yahoo Finance抓取列表中的数据日期、股票名称、实时报价、当日变化率、当日最低价、当日最高价。

由于Yahoo Finance的股票页面中的数值都有相应id。

例如纳斯达克100指数ETF(QQQ)
其中实时报价的HTML标记为

[html]view plain

  • <spanid="yfs_l84_qqq">87.49</span>

  • 而标普500指数ETF(SPY)

    其中实时报价的HTML标记为

    [html]view plain

  • <spanid="yfs_l84_spy">187.25</span>

  • 因此本数据抓取程序根据相应的id字符串来查找数据。具体来说就是先继承HTMLParser,然后在自定义的子类中重载handle_data(self, data)方法,查找包含相应id字符串(例如实时报价的id字符串为"yfs_l84_"+股票代码)的HTML标记,并输出这个HTML标记中的数据(例如qqq的<span id="yfs_l84_qqq">87.49</span>,其中的数据87.49就是实时报价。)

    样本输出:

    数据依次是

    数据日期 股票代码 股票名称 实时报价 日变化率 日最低价 日最高价

    [python]view plain

  • 05/05/(IBB)233.281.85%225.34233.28

  • 05/05/(SOCL)17.480.17%17.1217.53

  • 05/05/(PNQI)62.610.35%61.4662.74

  • 05/05/2014xsdSPDRS&PSemiconctorETF(XSD)67.150.12%66.2067.41

  • 05/05/2014itaiSharesUSAerospace&Defense(ITA)110.341.15%108.62110.56

  • 05/05/2014iaiiSharesUSBroker-Dealers(IAI)37.42-0.21%36.8637.42

  • 05/05/(VBK)119.97-0.03%118.37120.09

  • 05/05/2014qqqPowerSharesQQQ(QQQ)87.950.53%86.7687.97

  • 05/05/2014ewiiSharesMSCIItalyCapped(EWI)17.86-0.56%17.6517.89

  • 05/05/(DFE)62.33-0.11%61.9462.39

  • 05/05/(PBD)13.030.00%12.9713.05

  • 05/05/(EIRL)38.52-0.16%38.3938.60

❸ 问一个Python分析股票价格的问题......

你先把价格按日期排序之后变成一个list的话,比如:
price=[70,74, 73, 72, 71,75]
你可以这么办:
operations=[]
isLong=False
for i in range(len(price)-1):
if(not isLong):
if(price[i]<price[i+1]):
print "Go long on day " + str(i)
operations.append(-1);
isLong=True;
else:
operations.append(0);
else:
if(price[i]>price[i+1]):
print "Go short on day " + str(i)
operations.append(1);
isLong=False;
else:
operations.append(0);
if(isLong):
print "Go short on day " + str(len(price)-1)
operations.append(1)
else:
operations.append(0)
ProfitPerShare=0
for i in range(len(price)):
ProfitPerShare+=price[i]*operations[i]
print "Summary profit per share: "+str(ProfitPerShare)

这里面就是说,如果你是空仓,那么如果明天比今天高就买,否则明天买就比今天买更划算;如果你不空仓,那么如果明天比今天价低你就要清仓,否则明天卖就会更划算。然后用一个叫operations的list来记录你每天的操作,-1表示买,0表示没有,1表示卖,所以最后可以计算每股获得的收入price[i]*operations[i]的总和。

❹ 如何用python代码判断一段范围内股票最高点

Copyright © 1999-2020, CSDN.NET, All Rights Reserved




登录

python+聚宽 统计A股市场个股在某时间段的最高价、最低价及其时间 原创
2019-10-12 09:20:50

开拖拉机的大宝

码龄4年

关注
使用工具pycharm + 聚宽数据源,统计A股市场个股在某时间段的最高价、最低价及其时间,并打印excel表格输出

from jqdatasdk import *
import pandas as pd
import logging
import sys
logger = logging.getLogger("logger")
logger.setLevel(logging.INFO)

# 聚宽数据账户名和密码设置
auth('username','password')

#获取A股列表,包括代号,名称,上市退市时间等。
security = get_all_securities(types=[], date=None)
pd2 = get_all_securities(['stock'])

# 获取股票代号
stocks = list(get_all_securities(['stock']).index)

# 获取股票名称
stocknames = pd2['display_name']

start_date = '2015-01-01'
end_date = '2018-12-31'
def get_stocks_high_low(start_date,end_date):
# 新建表,表头列
# 为:"idx","stockcode","stockname","maxvalue","maxtime","lowvalue","lowtime"
result = pd.DataFrame(columns=["idx", "stockcode", "stockname", "maxvalue", "maxtime", "lowvalue", "lowtime"])
for i in range(0,stocks.__len__()-1):
pd01 = get_price(stocks[i], start_date, end_date, frequency='daily',
fields=None, skip_paused=False,fq='pre', count=None)
result=result.append(pd.DataFrame({'idx':[i],'stockcode':[stocks[i]],'stockname':
[stocknames[i]],'maxvalue':[pd01['high'].max()],'maxtime':
[pd01['high'].idxmax()],'lowvalue': [pd01['low'].min()], 'lowtime':
[pd01['low'].idxmin()]}),ignore_index=True)

result.to_csv("stock_max_min.csv",encoding = 'utf-8', index = True)
logger.warning("执行完毕!

❺ 怎么用python计算股票

作为一个python新手,在学习中遇到很多问题,要善于运用各种方法。今天,在学习中,碰到了如何通过收盘价计算股票的涨跌幅。
第一种:
读取数据并建立函数:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import spline
from pylab import *
import pandas as pd
from pandas import Series
a=pd.read_csv('d:///1.csv',sep=',')#文件位置

t=a['close']
def f(t):
s=[]
for i in range(1,len(t)):
if i==1:
continue
else:
s.append((t[i]-t[i-1])/t[i]*100)
print s
plot(s)

plt.show()
f(t)
第二种:
利用pandas里面的方法:
import pandas as pd

a=pd.read_csv('d:///1.csv')
rets = a['close'].pct_change() * 100
print rets

第三种:
close=a['close']
rets=close/close.shift(1)-1
print rets

总结:python是一种非常好的编程语言,一般而言,我们可以运用构建相关函数来实现自己的思想,但是,众所周知,python中里面的有很多科学计算包,里面有很多方法可以快速解决计算的需要,如上面提到的pandas中的pct_change()。因此在平时的使用中应当学会寻找更好的方法,提高运算速度。

❻ python 设计一个名为Stock的类来表示一个公司的股票

class Stock():
def __init__(self):
self.__no = ""
self.__name = ""
self.previousClosingPrice = 0
self.currentPrice = 0
def creatStock(self,stockInfo):
self.__no = stockInfo[0]
self.__name = stockInfo[1]
self.previousClosingPrice = stockInfo[2]
self.currentPrice = stockInfo[3]
def getStockName(self):
return(self.__name)

def getStockNo(self):
return(self.__no)

def setPreviousClosingPrice(self,price):
self.previousClosingPrice = price

def getPreviousClosingPrice(self):
return(self.previousClosingPrice)

def setCurrentPrice(self,price):
self.currentPrice = price

def getCurrentPrice(self):
return(self.currentPrice)
def getChangePercent(self):
return((self.currentPrice - self.previousClosingPrice)/self.currentPrice)

stock = Stock()
stock.creatStock(["601318","中国平安",63.21,64.39])
print(stock.getStockNo())
print(stock.getStockName())
print(stock.getCurrentPrice())
print(stock.getPreviousClosingPrice())

❼ 如何选取过去每个月股票的市值 python

类似,可以修改一下
股票涨跌幅数据是量化投资学习的基本数据资料之一,下面以python代码编程为工具,获得所需要的历史数据。主要步骤有:
(1) #按照市值从小到大的顺序活得N支股票的代码;
(2) #分别对这一百只股票进行100支股票操作;
(3) #获取从2016.05.01到2016.11.17的涨跌幅数据;
(4) #选取记录大于40个的数据,去除次新股;
(5) #将文件名名为“股票代码.csv”。
具体代码如下:
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 17 23:04:33 2016
获取股票的历史涨跌幅,并分别存为csv格式
@author: yehxqq151376026
"""

import numpy as np
import pandas as pd

#按照市值从小到大的顺序活得100支股票的代码
df = get_fundamentals(
query(fundamentals.eod_derivative_indicator.market_cap)
.order_by(fundamentals.eod_derivative_indicator.market_cap.asc())
.limit(100),'2016-11-17', '1y'
)

#分别对这一百只股票进行100支股票操作
#获取从2016.05.01到2016.11.17的涨跌幅数据
#选取记录大于40个的数据,去除次新股
#将文件名名为“股票代码.csv”
for stock in range(100):
priceChangeRate = get_price_change_rate(df['market_cap'].columns[stock], '20160501', '20161117')
if priceChangeRate is None:
openDays = 0
else:
openDays = len(priceChangeRate)
if openDays > 40:
tempPrice = priceChangeRate[39:(openDays - 1)]
for rate in range(len(tempPrice)):
tempPrice[rate] = "%.3f" %tempPrice[rate]
fileName = ''
fileName = fileName.join(df['market_cap'].columns[i].split('.')) + '.csv'
fileName
tempPrice.to_csv(fileName)

❽ windpy python w.wsd获取哪些历史行情数据

获取哪些历史行情数据
结果显示:
[html]
root@zhou:/home/zhouqian/python# py value_keys.py test.txt
ssss
2 key3 => ['6', '33']
3 key2 => ['1', '2', '45']
3 key1 => ['4', '5', '13']
遇到的问题总结:
split的用法:line.split()就是分开出左右两边的值,在默认的情况下是以一个空格或者多个空格为分割符的,
has_key()的用法:是查看字典数据类型中有没有这么一个关键字。上面可知result={}是初始化了一个字典的数据类型。

❾ 用Python中的蒙特卡洛模拟两支股票组成的投资组合的价格趋势分析

蒙特卡洛模拟是一种模拟把真实系统中的概率过程用岁虚计算机程序来模拟的方法。对于投资组合的价格趋势分析,可以使用Python中的蒙特卡洛模拟。首册茄先,回顾投资组合的价格趋势。投资组合中的股票价格的趋势是受多种因素影响的,可分为经济、政治和技术因素,其中经济因素最重要。因此,蒙特卡洛模拟可以模拟这些因素对投资组合价格趋势的影响,并通过计算机绘制投资组合价格趋势的曲线。
Python中的蒙特卡洛模拟首先需要计算投资组合中各股票价格的每一期的收益率,其次,计算出投资组合的收益率;随后,计算预测投资组合的期权价格,并将所有的期权价格叠加起来,从而绘制投资组合的价格曲线。最后,在投资组合的价格曲线的基础上,可以分析投资组合在不同时期的价格走州雀察势,并进行投资组合结构的调整,从而获得最优投资组合。

❿ 如何用python获取股票数据

在Python的QSTK中,是通过s_datapath变量,定义相应股票数据所在的文件夹。一般可以通过QSDATA这个环境变量来设置对应的数据文件夹。具体的股票数据来源,例如沪深、港股等市场,你可以使用免费的WDZ程序输出相应日线、5分钟数据到s_datapath变量所指定的文件夹中。然后可使用Python的QSTK中,qstkutil.DataAccess进行数据访问。

热点内容
广西水利建设基金如何计算 发布:2025-02-04 18:41:34 浏览:873
股票软件手机版EPS在那看 发布:2025-02-04 18:10:09 浏览:28
商业股权拍卖怎么样 发布:2025-02-04 18:02:19 浏览:84
金融行业如何推广客户 发布:2025-02-04 17:51:46 浏览:198
南阳市金融街停车场如何收费 发布:2025-02-04 17:49:26 浏览:136
辛巴的理财产品有多少 发布:2025-02-04 17:42:37 浏览:669
杜康股票历史最高价 发布:2025-02-04 17:29:38 浏览:562
思创医惠股票历史行情6 发布:2025-02-04 17:28:49 浏览:805
股市什么股什么股吗 发布:2025-02-04 17:21:08 浏览:235
多少钱投资股票合适 发布:2025-02-04 17:11:56 浏览:812