Investing in Korean REITs: How to Successfully Invest in REITs and Visualize with Python
Interested in investing in real estate but don't want to buy a property outright? If so, "investing in REITs" may be a good alternative. REITs are a way for a group of investors to collectively invest in real estate, with a professional manager managing the assets and paying out dividends.
In this post, we'll take a look at the current state of the Korean REIT market, analyze how to successfully invest in REITs, and explain how to interpret the data through visualization using Python.
1. What does Ritz mean
Real estate investment trusts (REITs) are financial instruments created to allow multiple investors to collectively invest in real estate. In a nutshell, the main characteristics of REITs are as follows
- Diverse asset classes: Commercial buildings, hotels, warehouses, residential properties, etc.
- Dividend-based earnings: Distribute rent and property sale revenue to investors
- Publicly traded REITs: Listed on the stock market and freely tradable
2. Status of the Korean REIT market
Below is the Korea REIT Association This is an infographic you can find on our homepage, and it shows REIT market data from 2018 to 2023 from the National Association of REITs. I ran a series of Python visualizations based on this data.

| Year | Total assets (trillion won) | Number of listed REITs |
|---|---|---|
| 2018 | 43.9 | 6 |
| 2019 | 51.9 | 7 |
| 2020 | 65.3 | 13 |
| 2021 | 78.2 | 18 |
| 2022 | 89.9 | 21 |
| 2023 | 93.9 | 23 |

By analyzing the graph above, you can derive deeper insights, including
1. rapid growth and volatility of market value: KRW 43.09 trillion in 2018 to KRW 93.8602 trillion in 2023, with steady growth.
2. a steady increase in the number of listed REITs: From 6 in 2018 to 23 in 2023, the number of REITs has been steadily increasing, demonstrating the expansion of the REITs market and the growing demand for investment diversification.
3. Implications and strategic insights: The REITs market is showing long-term growth, but it is necessary to stabilize the asset portfolio considering temporary volatility.
3. Korean REIT Investment Strategy
3-1. Criteria for selecting REIT stocks
For a successful REIT investment, you should consider the following factors
- Dividend yield: Provide stable cash flow
- Asset portfolio: Include multiple real estate asset classes
- Operator confidence: Manager's experience and return history
- Manage capital increases: Strategies to prevent dilution of shareholder value
- Risk diversification: Diversify your investments across geographies and industries
3-2. How to Invest in Korean REITs
- Direct investment: How to buy REIT shares directly and earn dividend income
- Indirect investments through funds: Diversify your portfolio by investing in REIT funds
- Investing in ETFs: Investing through exchange-traded funds (ETFs), including various REITs
- Private REITs for institutional investors: Private REITs with large assets under management
3-3. Recommended REIT Stocks (REIT Stocks)
| REIT name | Investment assets | Dividend Yield (%) | Dividend payment cycle | Market capitalization (USD billion) | Key Features |
| SKrits | Offices, gas stations, and water treatment centers | 6.31 | March, June, September, December | 44,229 | SK Group sponsor, stable lease structure, quarterly dividend policy |
| ESRKendall Square Ritz | Warehouse | 7.61 | Twice a year | 9,067 | Global institutional investor holdings, stable dividend structure |
| Lotte Ritz | Department stores, grocery stores, outlets, and warehouses | 6.48 | June, December | 7,666 | Blue-chip assets and stable earnings structure of Lotte Shopping and Lotte Global Logistics |
| JR Global REIT | Belgium, US offices | 14.16 | June, December | 5,487 | Includes global office assets, high dividend yield, stable dividend |
4. Analyze the comparison of recommended REITs with Python visualizations
import pandas as pd
import matplotlib.pyplot as plt
def prepare_reit_data():
"""Create and return a data frame"""
return pd.DataFrame({
"REIT Name": ["SK REIT", "ESR Kendall Square REIT", "Lotte REIT", "JR Global REIT"],
"Dividend Yield (%)": [6.31, 7.61, 6.48, 14.16],
"Market Cap (Billion KRW)": [44229, 9067, 7666, 5487],
"Dividend Frequency": ["Quarterly", "Semi-Annually", "Semi-Annually", "Semi-Annually", "Semi-Annually"]
})
def create_dual_axis_plot(df):
"""Create a graph with dual axes"""
# graph preferences
plt.rcParams['figure.figsize'] = (12, 6)
plt.rcParams['font.size'] = 10
fig, ax1 = plt.subplots()
# Adjust margins
plt.subplots_adjust(bottom=0.2) # Increase bottom margin
# First axis: Dividend yield (line graph)
ax1.set_xlabel('REIT Name', labelpad=10)
ax1.set_ylabel('Dividend Yield (%)', color='tab:blue', labelpad=10)
line = ax1.plot(df['REIT Name'], df['Dividend Yield (%)'],
color='tab:blue', marker='o', linewidth=2,
label='Dividend Yield')
ax1.tick_params(axis='y', labelcolor='tab:blue')
# Second axis: Market capitalization (bar graph)
ax2 = ax1.twinx()
ax2.set_ylabel('Market Cap (Billion KRW)', color='tab:orange', labelpad=10)
bars = ax2.bar(df['REIT Name'], df['Market Cap (Billion KRW)'],
color='tab:orange', alpha=0.5, label='Market Cap')
ax2.tick_params(axis='y', labelcolor='tab:orange')
Set the # y-axis range
ax1.set_ylim(0, max(df['Dividend Yield (%)']) * 1.2)
ax2.set_ylim(0, max(df['Market Cap (Billion KRW)']) * 1.2)
Remove the # grid
ax1.grid(False)
ax2.grid(False)
return fig, ax1, ax2, line[0], bars
def add_plot_decorations(fig, ax1, ax2, line, bars):
"""Add graph details (title, legend, data labels)""""
# Set the title
plt.title('Comparison of Dividend Yield and Market Cap by REIT', fontsize=16, pad=20)
Add # legend - move it down the center of the x-axis
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
legend = ax1.legend(lines1 + lines2, labels1 + labels2,
loc='upper center', bbox_to_anchor=(0.5, -0.15),
ncol=2) # legend in 2 columns
Add # data labels
# line graph data labels
for i, value in enumerate(line.get_ydata()):
y_offset = 0.3
ax1.text(i, value + y_offset, f'{value:.2f}%',
ha='center', va='bottom', color='tab:blue', fontweight='bold')
# bar graph data labels
for bar in bars:
height = bar.get_height()
ax2.text(bar.get_x() + bar.get_width()/2., height * 1.02,
f'{height:,.0f}B',
ha='center', va='bottom', color='tab:orange', fontweight='bold')
Rotate and reposition the # x-axis labels
plt.xticks(rotation=45, ha='right')
Adjust the # layout
plt.tight_layout()
def main():
"""Main execution function"""
Prepare # data
df = prepare_reit_data()
Create the # graph
fig, ax1, ax2, line, bars = create_dual_axis_plot(df)
Decorate the # graph
add_plot_decorations(fig, ax1, ax2, line, bars)
Display the # graph
plt.show()
if __name__ == "__main__":
main()
5. Visualize insights from your analysis
- Risk and return correlation:
- JR Global REIT has a low market capitalization and a high dividend yield, while SK REIT has a high market capitalization and a moderate yield.
- Diversify your portfolio:
- A larger market capitalization does not necessarily mean a lower dividend yield; it depends on the asset mix and risk of a particular REIT.
- Choose based on investor personality:
- Investors who value stability: SK REIT, Lotte REIT
- Investors Looking for High Yield: JR Global REIT
- Investors who prefer balance: ESR Kendall Square REIT
The relationship between dividend yield and market capitalization is complex and depends on the REIT's portfolio and investment strategy. Investors should consider their Risk appetiteIt's important to choose a REIT based on
Finalize
In this post, we looked at the definition of REITs, the current state of the Korean REIT market, and data visualization using Python. We hope that you will continue to analyze data to understand the market and make wise investment decisions.
And speaking of Korea's most iconic investment, Samsung Electronics, right? Samsung Electronics 10-year stock price changes: An exciting stock journey explored with an error bar graph post to see historical data, Samsung Electronics Stock Price in 10 Years: Predicting the Future with AI and Data (feat. Python) Check out the post to see the data predicted by AI.





