本文主要讲述REITs基金相关内容,封闭基金数据获取参见:
集思录封闭基金数据python爬取写入excel表
1.什么是REITs基金
REITs(Real Estate Investment Trust)基金,即不动产投资信托基金。REITs最早产生于美国60年代,目前美国REITs总市值超过3万亿美元,主要涉及数据中心、医疗、基础设施、混合经营、住宅、写字楼、零售、工业、农林、酒店、自存储等领域,投资范围广泛。
和美国REITs相比,国内REITs刚刚处于起步试点阶段,其中公路、铁路等交通项目,城镇污水、垃圾处理,仓储物流、新型基础设施等领域为我国REITs试点推广领域。目前,国内REITs基金总规模大约在四百多亿,和国外相比还有很大发展空间。
2.REITs基金的收益率
从收益率角度来看,如果将REITs指数与其他指数对比可以发现,REITs的收益率明显高于纳斯达克、标普500、罗素2000和道琼斯工业指数。根据美国房地产投资信托协会公布的数据,美国权益型REITs近20年的年均回报率为12.59%,比罗素2000指数高2.58%,比纳斯达克综指高4.36%。 从波动性角度来看,投资REITs的收益可以分为持有REITs期间的分红收益和REITs股价上涨带来的资本利得收入。根据美国的数据,过去46年中,美国权益型REITs平均分红收益率为7.56%,平均资产利得收益率为5.44%,即REITs收益大概六成来自分红,四成来自资产增值。[1]
参考: finance.sina.com.cn/stock/stockzmt/2020-05-01/doc-iircuyvi0883230.shtml
3.REITs基金特点
目前普通个人投资者可参与投资的REITs基金主要为基础设施公募REITs,和股票、债券、其它基金相比,基础设施公募REITs基金主要有以下四个特点:
一是80%以上基金资产投资于基础设施资产支持证券,并持有其全部份额;基金通过基础设施资产支持证券持有基础设施项目公司全部股权;
二是基金通过资产支持证券和项目公司等特殊目的载体取得基础设施项目完全所有权或经营权利;
三是基金管理人主动运营管理基础设施项目,以获取基础设施项目租金、收费等稳定现金流为主要目的;
四是采取封闭式运作,收益分配比例不低于合并后基金年度可供分配金额的90%。
4.买卖REITs基金的渠道
由于目前国内基础设施公募REITs基金采取封闭式运作,因此普通投资者可以通过证券账户在二级市场买卖的方式进行投资。
本文选取集思录网站的REITs基金数据进行爬取,网站页面如下图所示:
本文代码参考了id号为 you是mine 同学的部分代码,在此感谢其分享。整体代码如下:
import jsonimport requestsimport csvimport refrom lxml import etreefrom datetime import datetimeimport os#从网页获取REITs基金信息写入一个二维列表def get_dat(): try: headers = {"User-Agent": "Mozilla/5.0 "} url = "https://www.jisilu.cn/data/cnreits/list/?___jsl=LST___t=1643798658991" r = requests.get(url) r.raise_for_status() data = r.content.decode("utf-8") dat = json.loads(data) # 所有数据 lst_data = [] for one in dat['rows']: # 每一条数据 lst_dat = [] # REITs id id = one["id"] dat_cell = one["cell"] # REITs名称 name = dat_cell['fund_nm'] # 现价 price = dat_cell['price'] #涨幅 #increase_rt = dat_cell['increase_rt'] #成交额 volume = dat_cell['volume'] #净值 nav = dat_cell['nav'] #净值日期 nav_dt = dat_cell['nav_dt'] #折价率 discount_rt = dat_cell['discount_rt'] #规模 unit_total = dat_cell['unit_total'] #到期日 #maturity_dt = dat_cell['maturity_dt'] #剩余年限 left_year = dat_cell['left_year'] #基金公司 fund_company = dat_cell['fund_company'] #为每一条REITs基金添加信息 lst_dat.append(id) lst_dat.append(name) lst_dat.append(price) #lst_dat.append(increase_rt) lst_dat.append(volume) lst_dat.append(nav) lst_dat.append(nav_dt) lst_dat.append(discount_rt) lst_dat.append(unit_total) #lst_dat.append(maturity_dt) lst_dat.append(left_year) lst_dat.append(fund_company) #构建REITs基金列表 lst_data.append(lst_dat) return lst_data except: return "获取数据失败"#将二维列表信息写入CSV文件def write_csv(data): # 1.创建指定文件夹 path = r'F:REITs' if not os.path.exists('F:/REITs'): os.mkdir(path) os.chdir(path) # 2.创建文件对象,并以日期命名文件 f = open(datetime.now().date().isoformat()+'REITs基金.csv', 'w', encoding='utf-8', newline='') # 3、基于文件对象构建 csv写入对象 csv_writer = csv.writer(f) # 4、构建列表头 csv_writer.writerow(["代码","名称","现价","成交额(万元)","净值","净值日期","折价率","规模","剩余年限","基金公司"]) # 5、写入csv文件内容 for dat in data: csv_writer.writerow(dat) # 6、关闭文件 f.close()def main(): data = get_dat() write_csv(data)main()
运行代码会获得一个以计算机日期命名的CSV文件,文件保存在F盘REITs目录下(该目录为上述代码运行后自动生成的),CSV文件打开如下图所示:
欢迎各位大佬指正
备注:投资有风险,入市需谨慎