① 怎么用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 取所有股票一段时间历史数据
各种股票软件,例如通达信、同花顺、大智慧,都可以实时查看股票价格和走势,做一些简单的选股和定量分析,但是如果你想做更复杂的分析,例如回归分析、关联分析等就有点捉襟见肘,所以最好能够获取股票历史及实时数据并存储到数据库,然后再通过其他工具,例如SPSS、SAS、EXCEL或者其他高级编程语言连接数据库获取股票数据进行定量分析,这样就能实现更多目的了。
④ 用Python中的蒙特卡洛模拟两支股票组成的投资组合的价格趋势分析
蒙特卡洛模拟是一种模拟把真实系统中的概率过程用岁虚计算机程序来模拟的方法。对于投资组合的价格趋势分析,可以使用Python中的蒙特卡洛模拟。首册茄先,回顾投资组合的价格趋势。投资组合中的股票价格的趋势是受多种因素影响的,可分为经济、政治和技术因素,其中经济因素最重要。因此,蒙特卡洛模拟可以模拟这些因素对投资组合价格趋势的影响,并通过计算机绘制投资组合价格趋势的曲线。
Python中的蒙特卡洛模拟首先需要计算投资组合中各股票价格的每一期的收益率,其次,计算出投资组合的收益率;随后,计算预测投资组合的期权价格,并将所有的期权价格叠加起来,从而绘制投资组合的价格曲线。最后,在投资组合的价格曲线的基础上,可以分析投资组合在不同时期的价格走州雀察势,并进行投资组合结构的调整,从而获得最优投资组合。
⑤ Python量化教程:不得不学的K线图「代码复制可用」
不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典、很重要的工具。在K线图中,它会绘制每天的最高价、最低价、开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助。
一般来说,我们会从各大券商平台获取K线图,但是这种情况下获得的K线图往往不能灵活调整,也不能适应复杂多变的生产需求。因此我们有必要学习一下如何使用Python绘制K线图。
需要说明的是,这里mpl_finance是原来的matplotlib.finance,但是现在独立出来了(而且好像没什么人维护更新了),我们将会使用它提供的方法来绘制K线图;tushare是用来在线获取股票数据的库;matplotlib.ticker中有个FuncFormatter()方法可以帮助我们调整坐标轴;matplotlib.pylab.date2num可以帮助我们将日期数据进行必要的转化。
我们以上证综指18年9月份以来的行情为例。
我们先使用mpl_finance绘制一下,看看是否一切正常。
可以看到,所有的节假日包括周末,在这里都会显示为空白,这对于我们图形的连续性非常不友好,因此我们要解决掉他们。
可以看到,空白问题完美解决,这里我们解释一下。由于matplotlib会将日期数据理解为 连续数据 ,而连续数据之间的间距是有意义的,所以非交易日即使没有数据,在坐标轴上还是会体现出来。连续多少个非交易日,在坐标轴上就对应了多少个小格子,但这些小格子上方并没有相应的蜡烛图。
明白了它的原理,我们就可以对症下药了。我们可以给横坐标(日期)传入连续的、固定间距的数据,先保证K线图的绘制是连续的;然后生成一个保存有正确日期数据的列表,接下来,我们根据坐标轴上的数据去取对应的正确的日期,并替换为坐标轴上的标签即可。
上边format_date函数就是这个作用。由于前边我们给dates列生成了从0开始的序列连续数据,因此我们可以直接把它当作索引,从真正的日期列表里去取对应的数据。在这里我们要使用matplotlib.ticker.FuncFormattter()方法,它允许我们指定一个格式化坐标轴标签的函数,在这个函数里,我们需要接受坐标轴的值以及位置,并返回自定义的标签。
你学会了吗?
当然,一个完整的K线图到这里并没有结束,后边我们会考虑加入均线、成交量等元素,感兴趣的同学欢迎关注哦!
⑥ 如何用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 = -01-01'
end_date = -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 是一种流行的编程语言,通常用于处理财务数据。一个常见的应用是在数据分析和数据科学领域,Python强大的数据处理和可视化库可用于分析大型数据集并识别数据中的趋势和模式。
可用于分析财务数据的 Python 脚本的一个示例是计算指定时间段内特定股票平均价格的脚本。金融分析师可以使用此脚本来跟踪股票的表现并预测其未来的价格走势。
下面是计算股票平均价格的 Python 代码示例:
在此代码中,我们首先导入 and 库,这些库通常用于处理 Python 中的财务数据。然后,我们使用库中的函数将库存数据从 CSV 文件加载到 ,这是一种用于处理表格数据的强大数据结构。pandasnumpyread_csv()pandasDataFrame
接下来,我们使用对象中的函数来计算股票的平均价格。最后,我们将结果打印到控制台。mean()DataFrame
这只是Python如何用于财务数据分析的一个简单示例。在这个领域使用Python还有许多其他应用和可能性,包括分析投资组合的表现,预测股票价格等等。
回答不易望请采纳
⑧ 问一个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怎么分析所有股票
在 Python的QSTK中,是通过 s_datapath 变量,定义相应股票数据所在的文件夹。一般可以通过 QSDATA 这个环境变量来设置对应的数据文件夹。
具体的股票数据来源,例如沪深、港股等市场,你可以使用免费的WDZ程序输出相应日线、5分钟数据到 s_datapath 变量所指定的文件夹中。然后可使用 Python的QSTK中,qstkutil.DataAccess进行数据访问。