R/z_dep_s1_tf_breakout.R

Defines functions main_df.f volume_increase_df.f breakout_strat_df.f

Documented in breakout_strat_df.f main_df.f volume_increase_df.f

#' Create main df structure
#'
#' Create main df with important columns that sub-identify the ID (code.) such as stock., lastmod, etc.
#' 
#' Dependencies: library0("plyr", "dplyr", "function0")
#' Return: df
#' 
#' @param fdf fdf (final df without warrant)
#' @keywords main df 
#' @export
main_df.f <- function(fdf){
      .Deprecated("main_df_f")
      libraryf(c("plyr", "dplyr", "function0"))
      
      lastvalue.f <- function(a.v){return(a.v[length(a.v)])}
      mdf1 <- fdf %>% group_by(code.) %>% summarise(stock. = lastvalue.f(stock.), date = lastvalue.f(date), chg.. = lastvalue.f(chg..),
                                    lastmod = lastvalue.f(lastmod), status.ind = lastvalue.f(status.ind))
      
      return(mdf1)
      
}


#' Create df that evaluates volume criteria
#'
#' s1_vol: mean volume of most recent 5 days > mean volume of past 6th to 10th days 
#' Dependencies: library0("plyr", "dplyr", "function0")
#' Return df
#' 
#' @param fdf fdf (final df without warrant)
#' @keywords volume criteria df
#' @export
volume_increase_df.f <- function(fdf){
      .Deprecated("volume_increase_df_f")
      libraryf(c("plyr", "dplyr", "function0"))
      
      summarised_df1 <- fdf %>% group_by(code.) %>% summarise(meanvol5_0 = funlag(last.v = lastmod, lag = 0, n = 5, fun = max), 
                                                              meanvol5_5 = funlag(last.v = lastmod, lag = 5, n = 5, fun = max))
      
      
      summarised_df2 <- summarised_df1 %>% mutate(s1_vol = as.numeric(meanvol5_0 > meanvol5_5))
      
      return(summarised_df2)

}

#' Create df that evaluates price breakout criteria
#'
#' s2_br: today's close > max of past 20 days lag 1 close
#' s3_br: today's close > max of past 20 days lag 5 close
#' Dependencies: library0("plyr", "dplyr", "function0")
#' Return df
#' 
#' @param fdf fdf (final df without warrant)
#' @keywords price breakout criteria df
#' @export
breakout_strat_df.f <- function(fdf){
      .Deprecated("breakout_strat_df_f")
      libraryf(c("plyr", "dplyr", "function0"))
      
      summarised_df1 <- fdf %>% group_by(code.) %>% summarise(latestclose = lastmod[length(lastmod)], 
                                                              max20_1 = funlag(last.v = lastmod, lag = 1, n = 20, fun = max),
                                                              max20_5 = funlag(last.v = lastmod, lag = 5, n = 20, fun = max))
      
      summarised_df2 <- summarised_df1 %>% mutate(s2_br = as.numeric(latestclose > max20_1), s3_br = as.numeric(latestclose > max20_5))
      
      return(summarised_df2)

}
junyitt/tfunction documentation built on May 4, 2019, 4:23 p.m.