大家好,我是宁一。
最近股市真是跌疯了。
有人打算割肉,有人打算补仓,有人直接躺平。
不管什么打算,很多人的操作,都是毫无章法的,凭着自己的个人感受去加仓,减仓。
所有亏钱的决策都是顺应人性的,没有自己的投资逻辑和投资方法,注定沦为被收割的韭菜。
所以,如果现在不知道怎样做,只想凭自己的好恶来买卖。
建议不要瞎操作,现在开始学习吧,锻炼自己用理性思维战胜市场。
01
推荐一个加速了解股市,感受市场的学习方法。
就是通过量化交易,来学习各种投资逻辑。
在大量股市数据中,体会市场情绪,帮你加速了解这个市场。
量化交易,就是给系统输入策略,让系统辅助我们执行。
比如我想要超过20日均线买入,跌破5日均线卖出股票,如果当前市场情况符合我们的策略,系统就会帮我们执行这个操作。
量化交易,需要有大量的数据做支撑。
但现在获取数据太难了,正宗的网站,比如choice、wind等,一年几万的费用,普通人负担不起。
而一些小的收费网站,数据不全,找不到我们想要的数据。
给大家推荐两个免费获取国内数据、国外数据的方法。
02
1、国内数据
国内数据获取比较简单,之前也给大家介绍过。
通过聚宽网站获取,注册一个账号,可以免费用半年,半年到期后,再用家人的账号注册就阔以,相当于是免费了。
网站链接:
https://www.joinquant.com/data
数据很全面,有2005年至今的股票行情、场外基金净值、场内基金开盘收盘价、可转债等数据。
场内基金分钟数据也有,不过不是免费提供的,不做精细化回测的话,影响不大。
获取方式也很简单,我们以获取中概互联LOF(164906)这只场内基金为例。
from jqdatasdk import *
auth('注册手机号','密码')
# 获取场内基金数据def get_changnei_price(code,start_date=None, end_date=None):场内数据上市日期可能为空,所以随便选个比较早的日期if start_date is None:start_date = "2005-07-12"if end_date is None:end_date = datetime.datetime.today()# 通过 get_price 方法获取数据data = get_price(code, start_date=start_date, end_date=end_date)print("data",data)return data
if __name__ == '__main__':start_date = "2015-07-10"end_date = datetime.datetime.now().strftime('%Y-%m-%d')# 调用上方定义的方法# 场内基金代码后面需要加上是哪个交易所的基金# XSHG-上交所;XSHE-深交所get_changnei_price("164906.XSHE",start_date,end_date)
调用结果:
一天可以免费读取100万条数据,基础测试的话,完全够用了。
2、国外数据
免费获取国外数据的渠道相对较少。
但是如果想做内外盘套利,或者了解中概股等情况,就需要获取国外数据来辅助我们操作。
yfinance这个Python第三方库,可以通过爬虫来调用雅虎财经数据,我们只需要安装调用就可以了。
这是一个开源的第三方库。具体调用信息可以打开下面链接查看。
链接:
https://github.com/ranaroussi/yfinance
注意调用环境要求:
Python >= 2.7, 3.4+
Pandas (tested to work with >=0.23.1)
Numpy >= 1.11.1
requests >= 2.14.2
lxml >= 4.5.1
安装:
pip install yfinance --upgrade --no-cache-dir
安装完成后,就可以获取数据了。
例如:获取阿里股票价格数据。
import yfinance as yf
if __name__ == '__main__':
data = yf.download("BABA", start="2021-01-05", end="2021-04-29")
如果调用过程中遇到下面的错误,打开梯子就可以解决。
No data found for this date range, symbol may be delisted