晶羽科技-解读点评影视小说作品

微信
手机版

python炒股例子(python炒股靠谱吗)

2022-01-20 19:22 作者:Python林路 围观:

大家好,我是林路。小伙伴们期盼已久的量化交易教程,今天它来了!

有不少小伙伴,一直很关心我量化交易的实战情况,经常会被问到:5 万元,现在赚了多少?

这里统一回复下,目前浮盈 6%。

远低于我的预期,这跟大盘的走弱脱不开关系。9 月开始即巅峰,一路惨遭滑铁卢,大盘再也没回到过 3700 点,属实有些惨淡。

后续!Python写代码AI全自动炒股 5万块,现在赚了多少?

不过越是这种冷清的时候,越是充能学习的时刻。

我最成功的一笔投资,不是买了哪支股票,而是自学了很多有趣的技术。

我还是那句话,最好的投资,就是投资自己!

回顾了自己的这一年,收获良多,我学到了很多新技术。

今天,我们继续聊量化交易

量化交易,说白了,主要分为三个部分:

炒股数据获取选股& 择时策略交易系统

对于一些低频的交易策略,甚至都用不上交易系统,手动操作都行。

Udata

一个稳定的炒股数据获取接口很重要,可以自己写爬虫爬数据,但这样太不稳定。

今天给大家推荐一个好用的 API 接口:

https://udata.hs.net

Udata 大牌子,是深耕金融领域 30 年的恒生电子推出的金融数据社区。

恒生电子大家应该都听过,近千亿市值的大公司,用数据这种事,找这类背景好的社区准没错。

今天我就以 Udata 提供的 API 股票接口为例,来一期保姆级的量化交易教程。

Udata 安装

我们先从 Udata 的安装开始讲起。

首先要搭建一个 Python 的开发环境,Python 开发环境不会搭建的,可以看我之前发布的一篇教程:

一劳永逸的 Python 环境搭建方法

Udata 可以使用 pip 安装。

pip install hs_udata

这样就表明安装好了。

后续!Python写代码AI全自动炒股 5万块,现在赚了多少?

然后注册个 Udata 账户,订阅一个体验套餐。各个社区都是一样的,都有免费的体验套餐给初学者使用。

注册并订阅号后,获取 token。

https://udata.hs.net/console/overAllView

打开链接,就能看到 token 获取方式,直接复制即可。

后续!Python写代码AI全自动炒股 5万块,现在赚了多少?

然后使用如下代码,就可以获取数据了。

from hs_udata import set_token, stock_list        # 引入 hs_udata 模块中 set_token 和 stock_listif __name__ == "__main__":    # 替换你的 token,查看 token 地址:https://udata.hs.net/console/overAllView    set_token(token = 'xxxxx')    # 获取 股票列表数据,返回格式为 dataframe        data = stock_list()    # 打印数据前 5 行    print(data.head())

有正确的数据结果了,那恭喜你,配置成功!

后续!Python写代码AI全自动炒股 5万块,现在赚了多少?

量化分析

数据搞定了,我们就可以利用这个 API 接口,做一些策略。

无论是选股,还是择时交易,都可以使用这个 API 接口的数据进行。

Udata 的 API 文档写得很全面:

https://udata.hs.net/datas/202/

应有尽有:

后续!Python写代码AI全自动炒股 5万块,现在赚了多少?

之前的教程,给大家讲解过 ETF 动量轮动策略。

今天来点不一样的,基础的分析技巧,也是我们必备的基本功。

比如画个 K 线,可视化工具,可以直接使用 pyecharts。

如果没有安装这个库,可以先使用 pip 安装一下。

pip install pyecharts

pyecharts 的使用非常简单,可以直接看手册。

https://pyecharts.org/#/zh-cn/intro

我们结合 Udata 的数据获取 api 接口和 pyecharts 可视化工具,就可以自己绘制 K 线。

import hs_udata as udatafrom datetime import datetime, timedeltaimport timefrom pyecharts import options as optsfrom pyecharts.charts import Klineif __name__ == "__main__":    # 替换你的 token,查看 token 地址:https://udata.hs.net/console/overAllView    udata.set_token(token = 'xxxxx')    current_dt = time.strftime("%Y-%m-%d", time.localtime())    current_dt = datetime.strptime(current_dt, '%Y-%m-%d')    # 获取 30 天的数据    day_num = 30    all_data = []    all_date = []    for i in range(1, day_num + 1)[::-1]:        search_date = current_dt - timedelta(days = i)        search_date = search_date.strftime("%Y%m%d")                # 恒生电子近 30 日的股价        data = udata.stock_quote_daily(en_prod_code = "600570.SH", trading_date = search_date)        # 开盘价        open_price = data['open_price'][0]        # 收盘价        close_price = data['close_price'][0]        # 最低价        low_price = data['low_price'][0]        # 最高价        high_price = data['high_price'][0]        # 去掉非交易日数据        if len(open_price) == 0:            continue        all_date.append(search_date)        all_data.append([float(open_price), float(close_price), float(low_price), float(high_price)])        # 使用 pyecharts 绘制 K 线    c = (        Kline()        .add_xaxis(all_date)        .add_yaxis(            "K线",            all_data,            itemstyle_opts = opts.ItemStyleOpts(                color = "#ec0000",                color0 = "#00da3c",                border_color = "#8A0000",                border_color0 = "#008F28",            ),        )        .set_global_opts(            xaxis_opts = opts.AxisOpts(is_scale = True),            yaxis_opts = opts.AxisOpts(                is_scale = True,                splitarea_opts = opts.SplitAreaOpts(                    is_show = True, areastyle_opts = opts.AreaStyleOpts(opacity = 1)                ),            ),            datazoom_opts = [opts.DataZoomOpts(type_ = "inside")],            title_opts = opts.TitleOpts(title = "恒生电子近 30 日 K 线"),        )        .render("kline.html")    )

运行成功后,会生成一个 kline.html 文件,用浏览器打开这个 html 文件,就可以看到绘制效果了。

后续!Python写代码AI全自动炒股 5万块,现在赚了多少?

可能有小伙伴会问,这都是炒股软件现成的,为什么要自己绘制?

只有亲自写代码后,你才能深刻认识到每个数据背后所代表的含义。这是一个很好的,帮助我们学习的过程。更重要的是,等我们熟练之后,可以根据自己的各种需求,定制化自己独家炒股界面。

你可以监控自己想要监控的所有信息。

像什么 KDJ、MACD 等各种指标,我们都是可以自己计算并可视化出来的。

不再受限于炒股软件的一些指标,甚至一些炒股软件的付费因子,我们都可以自己计算。

再比如,我们可以使用数据,做一些自己不了解的分析。举个非常简单的例子,你知道 A 股的行业分布情况吗?

几行代码就可以搞定。

import hs_udata as udatafrom pyecharts import options as optsfrom pyecharts.charts import Piefrom tqdm import tqdmif __name__ == "__main__":    # 替换你的 token,查看 token 地址:https://udata.hs.net/console/overAllView    udata.set_token(token = 'xxxxx')    # 获取所有股票    data = udata.stock_list(listed_state = "1")    codes = data['hs_code'].tolist()        industry_name_dict = {}    # 遍历股票    for code in tqdm(codes):        # 获取股票行业信息        data = udata.industry_category(en_prod_code = code)        industry_name_csrc = data['industry_name_csrc'][0].split("-")[0]        # print(industry_name_csrc)        # 统计行业数量        if industry_name_csrc not in industry_name_dict.keys():            industry_name_dict[industry_name_csrc] = 1        else:            industry_name_dict[industry_name_csrc] += 1    # 可视化    c = (        Pie()        .add(            "",            [                list(z)                for z in zip(                    industry_name_dict.keys(),                    industry_name_dict.values(),                )            ],            center=["40%", "50%"],        )        .set_global_opts(            title_opts=opts.TitleOpts(title="A 股股票行业分布"),            legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),        )        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))        .render("pie.html")    )

运行代码,打开 pie.html ,即可查看 A 股股票的行业分布情况。

后续!Python写代码AI全自动炒股 5万块,现在赚了多少?

制造业半壁江山啊!

除了这种简单的行业统计,我们还可以统计每日的龙虎榜情况,监控股东持股情况,资金流向等。

根据股票的每日价格,我们还可以计算各种因子,辅助我们决策。

根据自己的需求,来个私人定制,搭建自己的交易体系。

当然了,师傅领进门,修行看个人。能写的内容太多了,篇幅有限,今天先教一些基础的玩法。这个系列教程,还会继续更新的。

絮叨

最后再多说两句,一直有不少小伙伴问我,卖系统不?卖源码不?卖服务不?

这样的询问,自从发了那期量化炒股的文章后,就没有断过。

说实话,还是建议自己学技术,自己写策略,那多香啊!真的,一切并没有那么难,日积月累,慢慢学,学习用代码赚钱的过程,是一件很有趣的事情。

作者:Jack Cui

原文链接:https://mp.weixin.qq.com/s/80jJbVZinbEz-ocwQsjfPw

相关文章