第1章:Python基础速通
各位同学,欢迎来到《REITs量化投资从零到实战》的第一站。我是你们的老朋友,一个在量化投资和REITs领域摸爬滚打了十几年的工程师。今天咱们不聊虚的,直接上手干活。
这一章,我把它叫做「地基工程」。你想想看,盖楼之前总得把水泥沙子备齐了吧?Python就是咱们的工具箱,Anaconda就是那个装工具的箱子,Jupyter就是工作台。咱们一步步来。
1.1 Python环境搭建:Anaconda + Jupyter
先说环境搭建。我个人习惯用Anaconda,为什么?因为它省心。你不需要一个个去装Python、装库、配路径,一个安装包全搞定。我当年刚入行时,光配环境就折腾了两天,后来发现Anaconda,简直想穿越回去抽自己一巴掌。
安装步骤很简单,三步走:
- 去官网下载Anaconda安装包(选对应你操作系统的版本)
- 一路点「Next」,注意勾选「Add Anaconda to my PATH environment variable」
- 安装完成后,打开终端(Windows用Anaconda Prompt),输入
jupyter notebook
嗯,这里要注意:如果你用的是Mac或Linux,直接在终端里敲 jupyter notebook 就行。浏览器会自动弹出来,看到那个熟悉的界面,恭喜你,环境搭好了。
1.2 变量与数据类型
环境搭好了,咱们来写第一行代码。Python里的变量,说白了就是个「标签」。你把数据贴个标签,以后就能用这个标签来调用它。
# 这是我写的第一个REITs相关变量
reit_name = "领展房产基金"
reit_price = 62.50
reit_dividend_yield = 0.052 # 5.2% 的股息率
print(reit_name)
print(reit_price)
print(reit_dividend_yield)
你看,变量名可以随便起,但最好有意义。我见过有人用 a、b、c 来命名,三个月后自己都看不懂。咱们做量化投资,代码可读性就是生命线。
Python里常见的数据类型有这些:
| 类型 | 例子 | 说明 |
|---|---|---|
| 整数 (int) | 100 |
REITs的份额数量 |
| 浮点数 (float) | 62.50 |
REITs的价格 |
| 字符串 (str) | "领展" |
REITs的名称 |
| 布尔值 (bool) | True |
是否持有该REITs |
为什么会这样区分?因为不同类型的数据,能做的操作不一样。比如价格可以加减乘除,但名字不行。你想想看,把「领展」和「越秀」加起来,那是什么鬼?
1.3 列表与字典实战
单个变量存一个数据,那多个数据怎么办?这时候列表和字典就派上用场了。我当年做REITs组合分析时,列表和字典几乎天天用。
列表(List):有序的集合,用方括号 [] 表示。
# 我持有的REITs列表
my_reits = ["领展房产基金", "越秀房产信托", "阳光城"]
print(my_reits[0]) # 输出:领展房产基金
# 添加一个新的REITs
my_reits.append("招商局商业房托")
print(my_reits)
字典(Dict):键值对的集合,用花括号 {} 表示。说白了就是「名字→值」的映射。
# 用字典存储REITs的详细信息
reit_info = {
"name": "领展房产基金",
"price": 62.50,
"dividend_yield": 0.052,
"sector": "零售"
}
print(reit_info["name"]) # 输出:领展房产基金
print(reit_info["price"]) # 输出:62.5
1.4 REITs数据抓取初体验
好了,前面都是热身。现在咱们来点真格的——从网上抓取REITs数据。我用的是 yfinance 这个库,它可以直接拉取港股和美股的数据。新加坡REITs也能用,但需要一点小技巧。
先安装库:
pip install yfinance pandas
然后写代码:
import yfinance as yf
import pandas as pd
# 领展房产基金(港股代码:0823.HK)
reit = yf.Ticker("0823.HK")
# 获取历史价格数据
hist = reit.history(period="1y")
print(hist.head())
# 获取股息率等关键指标
info = reit.info
print(f"名称: {info['longName']}")
print(f"当前价格: {info['currentPrice']}")
print(f"股息率: {info['dividendYield']:.2%}")
运行这段代码,你就能看到领展过去一年的价格走势,以及当前的股息率。是不是很爽?我第一次跑通时,兴奋得差点把咖啡打翻。
最后,咱们用一张图来总结本章的知识体系:
这张图把本章的四个核心模块串起来了。从环境搭建开始,到变量类型,再到列表字典,最后用数据抓取收尾。每一步都是下一环的基础,缺一不可。
好了,第一章的内容就到这里。代码不多,但都是精华。你跟着敲一遍,遇到问题别怕,那是成长的必经之路。我当年也是这么过来的。