1. Objective
This report organizes quarterly financial information obtained from
the Taiwan Economic Journal (TEJ) for the period
2010 Q1 to 2026 Q2. The requested measures are total
equity (book value), market value of common stock, and quarterly net
operating income. The measures are total monetary amounts, not
per-share values. Original export units are retained.
2. Load the data
# Read the processed TEJ export from the same folder as this .Rmd file.
financial_data <- read.csv(
"TEJ_HW5_final.csv",
colClasses = c(stock_id = "character"),
na.strings = c("", "NA"),
stringsAsFactors = FALSE
)
# Check the number of rows and columns.
dim(financial_data)
## [1] 131775 6
3. Variables
stock_id |
Company/security identifier |
company_name |
Company name |
year_quarter |
Reporting quarter |
book_value_total_equity |
Total equity (book value) |
market_value_common_stock |
Market value of common stock |
operating_profit_quarter |
Estimated single-quarter operating income |
4. Coverage
coverage <- data.frame(
Measure = c("Observations", "Distinct stock IDs", "Distinct quarters", "First quarter", "Last quarter"),
Value = c(
nrow(financial_data),
length(unique(financial_data$stock_id)),
length(unique(financial_data$year_quarter)),
min(financial_data$year_quarter),
max(financial_data$year_quarter)
)
)
knitr::kable(coverage)
| Observations |
131775 |
| Distinct stock IDs |
2996 |
| Distinct quarters |
66 |
| First quarter |
2010Q1 |
| Last quarter |
2026Q2 |
5. Sample observations
To keep the published web page readable, only the first eight rows
are displayed. The data file retains all observations.
knitr::kable(head(financial_data, 8))
| 1101 |
TCC |
2010Q1 |
102157504 |
98600641 |
2152334 |
| 1101 |
TCC |
2010Q2 |
102349225 |
89876378 |
3791319 |
| 1101 |
TCC |
2010Q3 |
109586305 |
109958645 |
4176068 |
| 1101 |
TCC |
2010Q4 |
124513778 |
121103340 |
5534591 |
| 1101 |
TCC |
2011Q1 |
128728151 |
131072213 |
3425462 |
| 1101 |
TCC |
2011Q2 |
126201240 |
158025090 |
5605798 |
| 1101 |
TCC |
2011Q3 |
125190869 |
121472558 |
4357630 |
| 1101 |
TCC |
2011Q4 |
129320349 |
129226125 |
2783801 |
6. Missing values
missing_summary <- data.frame(
Variable = names(financial_data),
Missing_Count = colSums(is.na(financial_data)),
Missing_Percent = round(colMeans(is.na(financial_data)) * 100, 2)
)
knitr::kable(missing_summary)
| stock_id |
stock_id |
0 |
0.00 |
| company_name |
company_name |
0 |
0.00 |
| year_quarter |
year_quarter |
0 |
0.00 |
| book_value_total_equity |
book_value_total_equity |
6 |
0.00 |
| market_value_common_stock |
market_value_common_stock |
11791 |
8.95 |
| operating_profit_quarter |
operating_profit_quarter |
18366 |
13.94 |
Missing observations have been retained as NA; they have
not been replaced with zeros.
7. Duplicate company-quarter observations
duplicate_count <- sum(duplicated(financial_data[c("stock_id", "year_quarter")]))
data.frame(Duplicate_Company_Quarter_Records = duplicate_count)
## Duplicate_Company_Quarter_Records
## 1 0
8. Example: TSMC (stock ID 2330)
tsmc_2010 <- subset(
financial_data,
stock_id == "2330" & year_quarter %in% c("2010Q1", "2010Q2", "2010Q3", "2010Q4")
)
knitr::kable(tsmc_2010)
| 21640 |
2330 |
TSMC |
2010Q1 |
532304702 |
1593081794 |
34127662 |
| 21641 |
2330 |
TSMC |
2010Q2 |
496872737 |
1569844030 |
40468693 |
| 21642 |
2330 |
TSMC |
2010Q3 |
540904077 |
1606255266 |
43065502 |
| 21643 |
2330 |
TSMC |
2010Q4 |
578704405 |
1839615538 |
41513478 |
9. Data limitations and interpretation
- This is a processed TEJ export. The supplied source
was filtered using four-digit stock IDs, not an
independently verified TWSE-listing-status field. Consequently, the
coverage of all TWSE-listed firms has not yet
been confirmed; some TPEx or other four-digit identifiers may
be included.
- Quarterly operating profits were calculated from values believed to
be year-to-date cumulative operating income. The
quarterly calculation should be verified against the TEJ
single-quarter series before treating it as
confirmed.
- Monetary figures retain the exported data’s scale. Verify the
currency/unit setting in the original TEJ download before labeling
numbers as dollars or thousands of dollars.
- The reporting period is 2010 Q1 through 2026 Q2; not every security
necessarily has observations for every quarter.
10. Conclusion
The report loads and summarizes the quarterly financial-data file,
checks reporting-period coverage and missing values, and checks whether
company-quarter records are duplicated. Full compliance with the
assignment’s all listed firms requirement remains
subject to verification using TEJ exchange-listing information.