社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

港股基金投资系列之一——利用Python构建动态港股基金数据库

西瓜财经资讯 • 4 年前 • 689 次点击  

NO.273

2021.02.17

工欲善其事,必先利其器


//


  - 前言 -  

◆ ◆ ◆ ◆


今天是春节假期的最后一天,而港股在牛年首个交易日已经收阳。恒生指数收盘涨1.1%,已经连续六个交易日上涨。


之前我们曾经分析过港股的投资逻辑,那么作为重要投资工具的港股基金,将是下一阶段我们研究的重点。


今天,我们将对港股基金的范围进行界定,并建立动态港股基金数据库。



  - 港股基金范围界定 -  

◆ ◆ ◆ ◆


对于港股基金的界定,证监会曾给出如下指引:


1、2007年,证监会颁布《合格境内机构投资者境外证券投资管理试行办法》,提到取得境内机构投资者资格的基金管理公司可以根据有关法律法规通过公开发售基金份额募集基金,运用基金财产投资于境外证券市场。而投资于香港特别行政区、澳门特别行政区的金融产品或工具,参照本办法执行。


2、2015年3月27日,证监会颁布《公开募集证券投资基金参与沪港通交易指引》,提到基金管理人申请募集基金,可以通过沪港通 机制,全部或部分投资于香港市场特定股票,不需具备合格境内机构投资者(QDII)资格。基金合同等法律文件应当约定相关股票的投资比例和策略,并充分揭示风险


3、2017年,证监会颁布《通过港股通机制参与香港股票市场交易的公募基金注册审核指引》。《指引》规定,若基金名称带有“港股”等类似字样,应当将80%以上(含)的非现金基金资产投资于港股;80%以下的非现金基金资产投资于港股的,基金名称不得带有“港股”等类似字样,港股最高投资比例不得超过股票资产的50%。而对于指数型基金,基金名称可根据标的指数名称命名。


据此,港股基金可以分为两个大类:QDII及沪港通基金,两者具有如下区别:


1、投资范围


沪港通基金:只能投资于A股及港股,且投资港股时只能投向指定股票:

(1)恒生综合大型、中型、小型股指数成份股,且小型股指数成份股定期调整考察截止日十二个月港股平均月末市值不低于港币50亿元;

(2)A+H股上市公司在联交所上市的H股


QDII基金:无个股限制,同时可以投资于一个或多个海外国家的股票。


2、业务载体


沪港通基金:以上交所(深交所)与港交所为载体,互相建立起市场连接,并对订单进行路由,从而实现投资者跨市场投资。


QDII基金:以资产管理公司为载体,通过向投资者发行金融产品吸收资金以进行投资。



  - 构建港股基金动态数据库 -  

◆ ◆ ◆ ◆


第一步:安装各种包

资料来源:西瓜财经资讯


第二步:导入数据

资料来源:西瓜财经资讯


(1)首次使用Python的wind接口时,需要进行如下操作:wind客户端——量化——修复插件——修复Python接口。


(2)在导入“包”时已经导入了Windpy。


(3)语句需要以w.start() 开始,否则所有与wind相关的程序都无法运行,但只要运行一次后不用重复运行。


(4)通过wset得到全部公募基金(非货币)板块的成分,字段包括最新调整日期、wind代码、证券名称。


(5)跟据成分代码,通过wss获得基金简称、投资范围、基金类型、港股投资市值、港股投资占资产净值比等数据。

(经过对wind的探索,发现通过增加"error,"和“usedf=True”可以直接生成dateframe)。


但需注意,由于wset得到的fundcode有10000条以上,而直接使用wss函数会得到空数据集,所以对fundcode进行拆分取数,然后合并数据集。


(6)可以通过如下两种方法对数据进行横向拼接。

dataall=pd.concat([data,data1],axis=0)

dataall=data.append(data1)


第三步:数据处理

资料来源:西瓜财经资讯


(1)对数据表进行列命名、筛选、拼接、删除重复行等操作。


(2)利用str.contains可以筛选出基金简称中包含“港”的基金信息,但是直接运行会报错,因为数据中有空值,所以进行如下步骤:


dataall.dropna(subset=['基金简称'],axis=0,

how='all',inplace=True)  #删除基金简称为空的行


all1=dataall[dataall['基金简称'].str.contains("港")]   #筛选出基金简称中含有“港”的基金记录


(3)同样利用如下步骤筛选出投资范围中包含“港”的基金记录。


(4)将上述两个表进行横向拼接并删除重复行。

资料来源:西瓜财经资讯


第四步:数据透视

资料来源:西瓜财经资讯

资料来源:西瓜财经资讯


  - 后言 -  

◆ ◆ ◆ ◆

后续,小咖不仅将更新市场分析观点,也将不时推出利用Excel(VBA)、python等工具提升金融分析效率的小贴士,欢迎大家关注公众号,一同讨论及分享。


往期回顾:

一文看懂《积极型资产配置指南》的资产配置逻辑(全)

如何看当前的港股投资?

2020年基金业绩大盘点

一文看懂基金风险及基金风险管理(上)

多周期资产配置法及大类资产配置应用(全)

从《我在高盛的经济预测法》来看如何根据经济指标进行投资

2020半年度大类资产及基金表现盘点

全面解读债券收益率曲线(全)

中债估值/YY估值的分析与对比

近期大类资产行情评述

如何从护城河角度识别伟大的公司?(更)

最全!黄金行情与金价决定因素分析

美林时钟深度理解及在国内市场的应用(全)

一文看懂股债跷跷板效应

从本轮人民币对美贬值看汇率历史走势和影响因素(全)

中美股指历史走势对比及未来展望

Python金融应用之利用Plotnine作图(一)——简单柱状图

Python金融应用之利用Plotnine作图(二)——双柱状图

Python金融应用之利用Plotnine作图(三)——堆积柱状图

Python金融应用之利用Plotnine作图(四)——棒棒糖图

Python金融应用之爬虫(一)

Python金融应用之爬虫(二)

Python金融应用之爬虫(三)

Python金融应用之爬虫(四)

Python金融应用之爬虫(五)

Python金融应用之爬虫(六)

Python金融应用之提取交易日+合并截面数据

python量化入门(一)——利用特定指标筛选股票并回测

python量化入门(二)——如何确定基金的市值属性和风格属性(全)

Python金融应用之基金业绩评价体系构建

Python金融应用之利用Pyecharts做动态图——柱状图/折线图

Python金融应用之利用Pyecharts做动态图(二)——饼图/散点图

Python金融应用之利用Pyecharts做动态图(三)——地图

Python金融应用之利用Pyecharts做动态图(四) ——玫瑰图

Python金融应用之利用Pyecharts做动态图(五)——词云图

Python金融应用之雷达图制作

Python金融应用之制作热力图

Python金融应用之制作词云

Python金融应用之图表制作(九)——数据透视表

Python金融应用之图表制作(八)——三维图

Python金融应用之图表制作(七)——蜡烛图

Python金融应用之图表制作(六)——色阶图

Python金融应用之图表制作(五)——合并图

Python金融应用之图表制作(四)——饼图

Python金融应用之图表制作(三)——散点图

Python金融应用之图表制作(二)——折线图

Python金融应用之图表制作(一)——柱状图

利用工具自动撰写报告(Python)——进阶版(一)

利用工具自动撰写报告(Python/Excel)——入门版











end


公众号:西瓜财经资讯

撰稿人:安静的金融美女子


记得点个在看哦

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/107756
 
689 次点击