df <- read_excel("C:/Users/ETR04585/Desktop/ptf-smf.xls")
Electricity Market Prices in September 2020 was analyzed.
If you would like to get data of Electricity Market Prices, please click here.
MCP is a market-clearing price that is used planned purchasing.
SMP is system marginal price that unplanned purchasing such as energy deficit, energy surplus.
Let’s look at the data set.
glimpse(df)
## Rows: 720
## Columns: 6
## $ Date <chr> "01.09.20 00:00", "01.09.20 01:...
## $ MCP <chr> "302.39", "300.25", "292.64", "...
## $ SMP <chr> "332.39", "325.25", "317.64", "...
## $ `Positive Imbalance Price (TL/MWh)` <chr> "293.32", "291.24", "283.86", "...
## $ `Negative Imbalance Price (TL/MWh)` <chr> "342.36", "335.01", "327.17", "...
## $ `SMP Direction` <chr> "<U+2191> Energy Deficit", "<U+2191> Energy D...
All columns’ data types are character and they were converted appropriate data types.
df$Date <- as.POSIXct(df$Date,format="%d.%m.%y %H:%M")
df$MCP <- as.double(df$MCP)
df$SMP <- as.double(df$SMP)
## Warning: NAs introduced by coercion
df$`Positive Imbalance Price (TL/MWh)` <- as.double(df$`Positive Imbalance Price (TL/MWh)`)
df$`Negative Imbalance Price (TL/MWh)` <- as.double(df$`Negative Imbalance Price (TL/MWh)`)
## Warning: NAs introduced by coercion
glimpse(df)
## Rows: 720
## Columns: 6
## $ Date <dttm> 2020-09-01 00:00:00, 2020-09-0...
## $ MCP <dbl> 302.39, 300.25, 292.64, 290.00,...
## $ SMP <dbl> 332.39, 325.25, 317.64, 320.00,...
## $ `Positive Imbalance Price (TL/MWh)` <dbl> 293.32, 291.24, 283.86, 281.30,...
## $ `Negative Imbalance Price (TL/MWh)` <dbl> 342.36, 335.01, 327.17, 329.60,...
## $ `SMP Direction` <chr> "<U+2191> Energy Deficit", "<U+2191> Energy D...
Firstly, MCP and SMP were analyzed, and daily price changes were examined.
df %>%
mutate(daily = format(as.POSIXct(Date), "%d"))
## # A tibble: 720 x 7
## Date MCP SMP `Positive Imbal~ `Negative Imbal~
## <dttm> <dbl> <dbl> <dbl> <dbl>
## 1 2020-09-01 00:00:00 302. 332. 293. 342.
## 2 2020-09-01 01:00:00 300. 325. 291. 335.
## 3 2020-09-01 02:00:00 293. 318. 284. 327.
## 4 2020-09-01 03:00:00 290 320 281. 330.
## 5 2020-09-01 04:00:00 290 330 281. 340.
## 6 2020-09-01 05:00:00 290 339 281. 349.
## 7 2020-09-01 06:00:00 292. 342. 283. 352.
## 8 2020-09-01 07:00:00 295. 345 287. 355.
## 9 2020-09-01 08:00:00 307. 339. 298. 349.
## 10 2020-09-01 09:00:00 315. 346. 305. 356.
## # ... with 710 more rows, and 2 more variables: `SMP Direction` <chr>,
## # daily <chr>
df %>%
mutate(daily = format(as.POSIXct(Date), "%d")) %>%
ggplot(aes(daily, MCP, color = `SMP Direction`)) + geom_point(alpha = 0.5) + labs(x="Date", y="MCP", title = "MCP Changes in September 2020")
Each point in a day represents an hour.
According to graph,excluding outliers, the price distribution is between 200 and 450.It is observed that in general price changing is related to Energy deficit.
df %>%
mutate(daily = format(as.POSIXct(Date), "%d")) %>%
ggplot(aes(daily, SMP, color = `SMP Direction`)) + geom_point(alpha = 0.5) + labs(x="Date", y="SMP", title = "SMP Changes in September 2020")
## Warning: Removed 1 rows containing missing values (geom_point).
Each point in a day represents an hour.
Excluding outliers, the price distribution is between 200 and 500. It is observed that similar to MCP, in general price changing is related to Energy deficit.
Based on the graphs above, the ratio of SMP Direction was analyzed. Between 720 observations, %76 of SMP is Energy Deficit, %19 of SMP is Energy Surplus and %5 of them is in balance.
df %>%
count(`SMP Direction`) %>% mutate(total_direction = sum(n)) %>% mutate(ratio = n / total_direction) %>% ggplot(aes(x="", y = ratio, fill = `SMP Direction`)) + geom_bar(stat = "identity") + coord_polar("y")
According to these graphs, we can conclude that many companies purchase more energy due to energy deficit and that companies have difficulty in estimating the amount of daily energy they will use. If these companies improve their prediction system, they will save on energy budget.