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

Field Description
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)
Measure Value
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))
stock_id company_name year_quarter book_value_total_equity market_value_common_stock operating_profit_quarter
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)
Variable Missing_Count Missing_Percent
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)
stock_id company_name year_quarter book_value_total_equity market_value_common_stock operating_profit_quarter
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

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.