用Python分析广州房地产市场

大家好,我是查理。有一阵时间没有更文了,在此向关注我的朋友道个歉。这次我想结合房地产业务,针对广州这一城市,运用Python来进行数据分析,以期能为大家提供一点分析思路。为什么要分析房地产市场?房地产行业具有鲜明的地域特征,从房地产企业角度来讲,城市的选择在一定程度上决定了投资的成败。因此,对一个城市的市场研判就显得至关重要。早在几年前,同样的资金配置到南京和长沙两个城市,获得的投资回报差别是巨大的。2017年至2019年南京和长沙二手房(元/㎡)

用Python分析广州房地产市场_第1张图片

那么,我们该如何分析房地产市场?我从数据分析的角度,归纳梳理了一下思路,我认为一个城市的房地产市场分析应该包括城市经济、相关政策、土地市场和房产市场四个方面。城市经济反映了一个城市的经济实力和潜能,可以细分出以下几个指标:人均GDP和单位面积GDP、人均财政收入和单位面积财政收入、高净值人群规模、人口净流入、第三产业占比、产业互补、房地产投资依赖度、城市友好度等。政府制定的政策对房地产市场影响也是巨大的,相关性较高的政策有金融政策、人口政策、土地政策和购房政策等。最后就是城市土地市场和房产市场分析,这也是整个分析最核心的部分。

用Python分析广州房地产市场_第2张图片

房地产市场分析框架接下来,我将结合Python,以广州为例,尝试着分析广州的土地市场和房产市场,城市经济和相关政策的分析将留在以后的文章中叙述。

广州土地市场分析

土地市场包括一级市场和二级市场,一级市场是土地使用权出让的市场,即国家通过其指定的政府部门将城镇国有土地或将农村集体土地征收为国有土地后出让给使用者的市场,出让的土地,可以是生地,也可以是经过开发达到“七通一平”的熟地。二级市场即土地使用权出让后的再交易,土地使用者将达到规定、可以交易的土地使用权,进入流通领域进行交易的市场。限于篇幅,本文仅从土地一级市场着手进行数据分析。

获取土地数据

土地市场数据一般会公示在当地的公共资源交易中心,但经常会出现只公示当周或当月数据的情况,因此,我们可以去找专业的土地网站获取交易数据。本文以土流网为例,这个网站结构简单,简单的url翻页构造,然后用xpath解析数据即可。限于篇幅,爬虫代码不做赘述,仅提供核心代码。

def main():
    for page in range(1,46):   #这里设置页数
        url = 'https://www.tudinet.com/market-213-0-0-0/list-o1ctime-pg{}.html'.format(page)
        print(url)
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
        }
        response = requests.request("GET", url, headers = headers)
        #print(response.status_code)
        if response.status_code == 200:
            re = response.content.decode('utf-8')
            print("正在提取第" + str(page) + "页")
            time.sleep(random.uniform(1,2))
            print("-" * 80)
            # print(re)
            parse = etree.HTML(re)  #解析网页
            items = parse.xpath('.//div[@class="land-l-cont"]/dl')
            parse_page(items)
            if len(items) < 10:  
                print('获取完成')
                break

if __name__ == '__main__':
    time.sleep(random.uniform(1,2))
    main()

运行爬虫代码,提取到广州1238块土地数据。以下为简单清洗后部分数据:

用Python分析广州房地产市场_第3张图片

分析土地数据

土地成交状态

近10年广州土地招拍挂成交情况

用Python分析广州房地产市场_第4张图片

2011年至2020年,广州土地招拍挂未成交和流拍土地规模占到一半,成交土地占比仅为49.71%,整体成交率并不高。未成交的原因主要集中在没有意向竞拍人、出价未达到规定的底价等。

土地成交面积

近10年广州土地招拍挂成交面积(万㎡)

用Python分析广州房地产市场_第5张图片

2011年至2016年广州市土地招拍挂成交土地较少,2016年成交规划建筑面积仅为77.30万㎡。2017年以后成交规模开始步入高潮,2018年成交规划建筑面积达到1635.50万㎡。2019年以来广州土地招拍挂成交面积(万㎡)

用Python分析广州房地产市场_第6张图片

从各月份土地成交来看,广州2019年前半年土拍市场相对沉寂,年中以后开始恢复正常,2019年年底土拍市场进入火热状态。2019年11月和12月分别成交宗地21块和38块。

土地成交结构

近10年广州土地招拍挂成交土地类型占比(%)

用Python分析广州房地产市场_第7张图片

近10年来广州成交土地主要以工业用地、其他用地和住宅用地为主,工业用地占比高达41.19%,这也是广州工业企业发达的重要动因。

土地成交区域

近10年广州各区土地招拍挂成交面积(万㎡)

用Python分析广州房地产市场_第8张图片

从成交区域来看,南沙区和番禺区各年都有一定土地成交,越秀区和天河区成交土地较少。2020年以来,南沙区土地市场火热,成交面积远高于广州其他地区。

广州房产市场分析

房产市场分析主要包括新房和二手房交易市场,由于一般的房产信息发布平台二手房数量远大于新房,为尽可能获取更大样本数据,提高分析的准确性,本文以广州二手房成交数据进行房产市场分析。

获取二手房数据

本文通过Python获取房天下公布的广州二手房成交数据。房天下的爬虫也较为简单,爬虫逻辑类似贝壳找房,唯一需要注意的是当遍历完一个子地区后跳转下一个子地区的处理。以下给出核心代码:


def main():
    #增城a080;番禺a078;南沙a084;花都a0639;白云a076;海珠a074;越秀a072;荔湾a071;天河a073;从化a079;黄埔a075
    district_list = ['a084', 'a078','a080', 'a0639','a076', 'a074','a072', 'a071','a073', 'a079','a075']  #地区
    for district in district_list:
        for page in range(1,101):   #这里设置页数
            url = 'https://gz.esf.fang.com/chengjiao-{0}/i3{1}/'.format(district, page)
            print(url)
            headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
            }
            response = requests.request("GET", url, headers = headers)
            if response.status_code == 200:
                re = response.content.decode('utf-8')
                print("正在提取" + district +'第' + str(page) + "页")
                time.sleep(random.uniform(1,2))
                print("-" * 80)
                # print(re)
                parse = etree.HTML(re)  # 解析网页
                items = parse.xpath('.//div[@name="div_houselist"]/dl')
                parse_page(items)
                if len(items) < 30:  #遍历完子地区后跳转
                    print('获取完成')
                    break

if __name__ == '__main__':
    time.sleep(random.uniform(1,2))
    main()

代码运行几分钟就提取下22170套广州二手房数据,简单清洗后部分数据展示如下:

用Python分析广州房地产市场_第9张图片

分析二手房数据

量价走势

近5年广州二手房量价走势

用Python分析广州房地产市场_第10张图片

从广州近几年二手房的量价走势来看,自2015年以来房价一直在上涨,2018年二手房均价达到35000元/㎡。2019年房价有所回落,但成交二手房数量达到近几年峰值,全年成交8940套。2020年1月至6月广州二手房量价走势

用Python分析广州房地产市场_第11张图片

2020年1月至6月,广州二手房均价与2019年基本持平。从成交量来看,2月份受疫情影响仅成交70套二手房,3月份以来,疫情逐渐得到控制,房产市场向好,6月份成交二手房1337套。

房价分布

2020年上半年广州各区二手房均价(元/㎡)

用Python分析广州房地产市场_第12张图片

从房价分布来看,2020年1月至6月二手房均价最高的地区为越秀区和天河区,均价分别为46767.52元/㎡和46433.89元/㎡。从化区房价最低,仅为12190.67元/㎡。

楼盘成交TOP20

2020年1月至6月广州二手房成交TOP20楼盘

用Python分析广州房地产市场_第13张图片

从楼盘成交来看,2020年1月至6月广州二手房成交数量最多的楼盘为位于增城区的锦绣天伦花园,共计成交78套,成交均价为18565.40元/㎡。

相关性分析

import pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mplimport seaborn as sns%matplotlib inlinesns.set_style('white')   #设置图形背景样式为白色df = pd.read_excel("D:\data\地产数据分析\广州二手房.xlsx")df = df[['室','厅','面积(㎡)','层数','成交单价(元/㎡)']] #选择需要的列df.rename(columns={'室': 'room', '厅': 'hall', '面积(㎡)': 'area', '层数': 'floor', '成交单价(元/㎡)': 'price'}, inplace=True)fig,axes=plt.subplots(1,2,figsize=(12,5))sns.regplot(x= 'room',y='price',data=df,color='r',marker='+',ax=axes[0])sns.regplot(x='hall',y='price',data=df,color='g',marker='*',ax=axes[1])

近5年广州二手房居室、面积、楼层与房价的关系

用Python分析广州房地产市场_第14张图片

通过绘制广州二手房回归图,我们发现,广州二手房居室数、面积与房价相关性并不大。房屋楼层与房价看似具有较强的正相关,其实是受三个异常值影响,并不具有相关性。

广州房地产市场小节

从广州土地市场来看,近年来土地市场有所回暖,尤其是南沙区和番禺区土地市场成交稳定,未来仍具有发展潜力。从房产市场来看,广州二手房自2019年来价格变动幅度不大,维持30000元/㎡左右。疫情下二手房交易受挫,部分房企尝试以价换量争取更大去化量。疫情逐渐得到控制后,二手房交易明显恢复。城中心房价维持高位,广州以北的从化和增城房价较低,仍具有上升空间。

声明

1.本数据分析只做学习研究之用途,提供的结论仅供参考;
2.作者对地产行业了解甚微,相关描述可能存在不尽完善之处,请勿对号入座。

你可能感兴趣的