本文目录一览:
- 1、如何利用Python预测股票价格
- 2、怎么用python计算股票
- 3、钉钉怎样查看公司股票
- 4、如何选取过去每个月股票的市值 python
- 5、如何用python计算某支股票持有90天的收益率
- 6、python的量化代码怎么用到股市中
如何利用Python预测股票价格
预测股票价格没有意义。
单支股票价格,多股组合,大盘这些都可以使用神经网络来学习,02年就做过了,涨跌预测平均能达到54%到57%的准确率,但是只能定性,无法定量,因此,在扣除印花税之后无利可图。
纯粹使用股票交易数据来预测并保证总体获利不是程序能办到的,人也办不到。
目前世界上最先进的炒股机器也只能利用网络时差那微不可计的零点几秒在欧洲与美国证券间倒来倒去,那套系统研发费用数千万,硬件(主要是独立光缆)费用以亿计。
怎么用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的强大功能,把提前设置好的股票信息推送到钉钉上。
首先通过接口获取股市实时信息,通过python的requests模块可以获取实时信息。
之后设置计算股票涨跌幅,并判断是否需要报警,运算出结果发送到钉钉,最后给钉钉群添加机器人,报警信息就是由机器人发送到钉钉上,你就可以实时看到了。
如何选取过去每个月股票的市值 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)
如何用python计算某支股票持有90天的收益率
首先你要先获得这支股票90天的数据,可以存在一个arry中。
然后计算收益率 r = (arry[89]-arry[0])/arry[0],如果要计算任意连续90天的话只要循环就可以了。
许多人更喜欢去做短线,因为短线刺激,无法承受长线持股待涨的煎熬,可是假如不会做短线,则可能会导致亏得更快。做T的秘籍大家一定很想知道,今天就给大家讲讲。
我准备了好处给大家,机构精选的牛股大盘点!希望大家不要错过--速领!今日机构牛股名单新鲜出炉!
一、股票做T是什么意思
现在市场上,A股的交易市场模式是T+1,意思就是今天买的股票,只有明天才能卖出。
而股票做T,当天买入的股票在当天卖出,这就是股票进行T+0的交易操作,投资人在可交易的一天通过股票的涨幅和跌停有了股票差价,在股票大幅下跌时赶紧买入,涨得差不多之后再将买入的部分卖出,就是用这种方法赚钱的。
假如说,在昨天我手里还有1000股的xx股票,市价10元/股。今天一大早发现该股居然跌到了9.5元/股,然后趁机买入了1000股。结果到了下午时,这只股票的价格就突然间大幅上涨到一股10.5元,我就急忙地以10.5/股的价格售出1000股,然后获取(10.5-9.5)×1000=1000元的差价,这就是做T。
但是,不是每种股票做T都合适!正常来说,那些日内振幅空间较大的股票,它们是适合去做T的,比如说,每日能有5%的振幅空间。想知道某只股票适不适合的,点开这里去看一下吧,专业的人员会为你估计挑选出最适合你的T股票!【免费】测一测你的股票到底好不好?
二、股票做T怎么操作
怎么才能够把股票做到T?正常情况下分为两种方式,分别为正T和倒T。
正T即先买后卖,投资手里,手里面赚有这款股票,在当天股票开盘的时候下跌到了最低点时,投资者买入1000股,等到股票变高的时候在高点,将这1000股彻底卖出,持有的总股票数还是跟以前一样,T+0的效果这样就能够达到了,又能够享有中间赚取的差价。
而倒T即先卖后买。投资者通过严密计算得出,股票存在下降风险,因此在高位点先卖出手中的一部分股票,接着等股价回落后再去买进,总量仍旧有办法保持不变,然而,收益是会产生的。
比方投资者,他占有该股2000股,而10元/股是当天早上的市场价,觉得持有的股票在短时间内就会有所调整,,于是卖出手中的1500股,等股票跌到一股只需要9.5元时,这只股票差不多就已经能让他们感到满意了,再买入1500股,这就赚取了(10-9.5)×1500=750元的差价。
这时有人就问了,那要如何知道买入的时候正好是低点,卖出的时候正好是高点?
其实有一款买卖点捕捉神器,它能够判断股票的变化趋势,绝对能让你每次都抓住重点,点开链接就能立刻领取到了:【智能AI助攻】一键获取买卖机会
应答时间:2021-09-23,最新业务变化以文中链接内展示的数据为准,请点击查看
python的量化代码怎么用到股市中
2010 ~ 2017 沪深A股各行业量化分析
在开始各行业的量化分析之前,我们需要先弄清楚两个问题:
第一,A股市场上都有哪些行业;
第二,各行业自2010年以来的营收、净利润增速表现如何?
第一个问题
很好回答,我们使用JQData提供的获取行业成分股的方法,输入get_industries(name='sw_l1')
得到申万一级行业分类结果如下:它们分别是:【农林牧渔、采掘、化工、钢铁、有色金属、电子、家用电器、食品饮料、纺织服装、轻工制造、医药生物、公用事业、交通运输、房地产、商业贸易、休闲服务、综合、建筑材料、建筑装饰、电器设备、国防军工、计算机、传媒、通信、银行、非银金融、汽车、机械设备】共计28个行业。
第二个问题
要知道各行业自2010年以来的营收、净利润增速表现,我们首先需要知道各行业在各个年度都有哪些成分股,然后加总该行业在该年度各成分股的总营收和净利润,就能得到整个行业在该年度的总营收和总利润了。这部分数据JQData也为我们提供了方便的接口:通过调用get_industry_stocks(industry_code=‘行业编码’, date=‘统计日期’),获取申万一级行业指定日期下的行业成分股列表,然后再调用查询财务的数据接口:get_fundamentals(query_object=‘query_object’, statDate=year)来获取各个成分股在对应年度的总营收和净利润,最后通过加总得到整个行业的总营收和总利润。这里为了避免非经常性损益的影响,我们对净利润指标最终选取的扣除非经常性损益的净利润数据。
我们已经获取到想要的行业数据了。接下来,我们需要进一步分析,这些行业都有什么样的增长特征。
我们发现,在28个申万一级行业中,有18个行业自2010年以来在总营收方面保持了持续稳定的增长。它们分别是:【农林牧渔,电子,食品饮料,纺织服装,轻工制造,医药生物,公用事业,交通运输,房地产,休闲服务,建筑装饰,电气设备,国防军工,计算机,传媒,通信,银行,汽车】;其他行业在该时间范围内出现了不同程度的负增长。
那么,自2010年以来净利润保持持续增长的行业又会是哪些呢?结果是只有5个行业保持了基业长青,他们分别是医药生物,建筑装饰,电气设备,银行和汽车。(注:由于申万行业在2014年发生过一次大的调整,建筑装饰,电气设备,银行和汽车实际从2014年才开始统计。)
从上面的分析结果可以看到,真正能够保持持续稳定增长的行业并不多,如果以扣非净利润为标准,那么只有医药生物,建筑装饰,电气设备,银行和汽车这五个行业可以称之为优质行业,实际投资中,就可以只从这几个行业中去投资。这样做的目的是,一方面,能够从行业大格局层面避免行业下行的风险,绕开一个可能出现负增长的的行业,从而降低投资的风险;另一方面,也大大缩短了我们的投资范围,让投资者能够专注于从真正好的行业去挑选公司进行投资。
「2010-2017」投资于优质行业龙头的收益表现
选好行业之后,下面进入选公司环节。我们知道,即便是一个好的行业也仍然存在表现不好的公司,那么什么是好的公司呢,本文试图从营业收入规模和利润规模和来考察以上五个基业长青的行业,从它们中去筛选公司作为投资标的。
3.1按营业收入规模构建的行业龙头投资组合
首先,我们按照营业收入规模,筛选出以上5个行业【医药生物,建筑装饰,电气设备,银行和汽车】从2010年至今的行业龙头如下表所示:
可以看到,虽然时间跨度很长,但是在这5个行业中,营收规模大的公司始终处于领先地位。它们分别是【上海医药,中国建筑,上海电气,工商银行,上汽集团】。
由于各年度上市公司年报的公布截止日是4月30日,待所有上市公司年报公布后,确定行业龙头,然后将这些行业龙头构建成一个投资组合。那么,持有投资组合的收益表现如何呢?为了保证投资时间的一致性,我们假设从2015年4月30号之后的第一个交易日开始投资,本金是100万,每个标的投资权重相同,都是20%,并且忽略交易成本,那么持有该组合至2018年4月30号的投资收益是多少呢?
我们利用JQData提供的获取行情接口get_price(security='股票代码', start_date='开始交易日', end_date='投资截止日', frequency='daily', fields=None, skip_paused=False, fq='pre'),分别获取组合中各个公司在各年度开始交易日和投资截止日(4.30之后的第一个交易日)的价格,得到最终的投资结果如下图所示:
可以看到,除了2015.5.4-2016.5.3股灾期间,该组合投资收益率和上证指数、沪深300指数有一个同步的大幅下跌外,从2016.5.3至2018年5.2,改组合连续两年获得了正收益,并在2016年大幅跑赢另外两个基准指数20%以上。
聪明的读者一定会问这样一个问题,如果我从2018年5月2号开始,投资100万买入这样一个按营收规模衡量的行业龙头组合,至2018年5月30号,收益表现会如何呢?答案是【3.04%】,而同期上证指数收益率和沪深300收益率分别是【-0.20%】和【-0.39%】,可以说表现非常之好了。具体收益如下表所示:
3.2按扣非净利润规模构建的行业龙头投资组合
如果我们按照扣除非经常性损益的净利润来衡量,以上5个行业从2010年至今的行业龙头又会是哪些呢,我们查出来如下表所示:
可以看到,按照扣非净利润来构建投资组合,医药生物和电气设备两个行业分别发生了行业龙头的更替,如果要构建基于扣非净利润的投资组合,那么我们就需要每年去调整我们的组合标的以保证组合中都是上一年度的行业龙头。和上述投资回测方式一样,我们从2015年5月4号买入这样一个组合,并在之后每年4月30号之后的第一个交易日调整组合中的行业龙头标的,最终的投资结果如下表所示:
可以看到,即使是2015.4.30-2016.5.3股灾期间,该组合也跑赢上证指数和沪深300指数3%左右;而2016.5.3至2018年5.2期间更是大幅跑赢两个基准指数高达30%以上。
同样的,如果从2018年5月2号开始,投资100万买入这样一个按扣非净利润规模衡量的行业龙头组合,至2018年5月30号,收益表现会如何呢?答案是【2.83%】,对比同期上证指数收益率和沪深300指数的【-0.20%】和【-0.39%】,仍然维持了非常良好的表现。具体收益如下表所示:
结论
通过以上行业分析和投资组合的历史回测可以看到:
先选行业,再选公司,即使是从2015年股灾期间开始投资,至2018年5月1号,仍然能够获得相对理想的收益,可以说,红杉资本的赛道投资法则对于一般投资者还是比较靠谱的。
在构建行业龙头投资组合时,净利润指标显著优于营业收入指标,获得的投资收益能够更大的跑赢全市场收益率
市场是不断波动的,如果一个投资者从股灾期间开始投资,那么即使他买入了上述优质行业的龙头组合,在近3年也只能获得12%左右的累计收益;而如果从2016年5月3日开始投资,那么至2018年5月2日,2年时间就能获得超过50%以上的收益了。所以,在投资过程中选择时机也非常重要。
出自:JoinQuant 聚宽数据 JQData