楼主: milktree2003
347 1

[SAS EM] create a new Column named HH which is a firm’s historical high price till yeste [推广有奖]

  • 0关注
  • 0粉丝

已卖:93份资源

院士

41%

还不是VIP/贵宾

-

威望
0
论坛币
5403 个
通用积分
42.8000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
31190 点
帖子
1626
精华
0
在线时间
1384 小时
注册时间
2011-6-29
最后登录
2025-11-26

楼主
milktree2003 发表于 2024-4-25 23:51:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
謝謝唷!

1.        How may I create a new Column named HH which is a firm’s historical high price till yesterday? (every line we have a firm’s id PERMNO, date, close price) vice versa LL
2.        How may I create a new Column named FLAG which is a firm’s price >HH, then classified into Max portfolio. vice versa Min
The remaining classified into third portfolio flagged COMPARISON
3.        Because we will watch the monthly return after the stock is classified into Max or Min portfolio, so the same stock can not be reclassified into Max or Min within one month after it was classified into Max or Min. How may I be coding it?
DM'LOG; CLEAR; OUT; CLEAR; ODSRESULTS; CLEAR;';
%LET FOLDER=%STR(C:\USERS\SC\DESKTOP\HIGH);
LIBNAME HIGH "&FOLDER";

DATA HH;
        SET        HIGH.HH; 1.JPG
RUN;

PROC SORT
  DATA=HH (KEEP  =SHRCD EXCHCD PERMNO DATE PRC CFACPR SHROUT CFACSHR
                      WHERE =( SHRCD IN (10,11) AND EXCHCD IN (1,2,3,31,32,33) )
                      )
  OUT=HHLL(DROP=SHRCD EXCHCD );
  BY PERMNO DATE;
RUN;

DATA HHLL;
  SET HH;
  BY PERMNO DATE;
HH=MAX(ABS(PRC/CFACPR),HH);
LL=MIN(ABS(PRC/CFACPR),LL);
IF FIRST.PERMNO THEN HH = .;
IF FIRST.PERMNO THEN LL = .;
RETAIN HH LL;
RUN;

/*
DATA HHLL1;
    SET HHLL;
    WHERE DATE BETWEEN '01JAN1963'D and '31DEC2023'D;
RUN;

DATA FLAG;
    SET HHLL1;
    BY PERMNO;
    RETAIN FLAG;
    IF FIRST.PERMNO THEN FLAG = .;
    IF DATE > INTNX('MONTH', FLAG, 1) THEN DO;
        IF PRC > HH THEN FLAG = 'MAX';
        ELSE IF PRC  < LL THEN FLAG = 'MIN';
        ELSE FLAG = 'COMPARISON';
RUN;

DATA MV;
    SET FLAG;
    FORMAT LAST_MONTH DATE9.;
    LAST_MONTH = INTNX('MONTH', DATE, -1);
    MV = ABS(PRC/CFACPR)*(SHROUT*CFACSHR);
RUN;


PROC RANK DATA=MV  OUT=QUARTILE GROUPS=4;
    BY PERMNO LAST_MONTH;
    VAR MV;
    RANKS SIZE_PERCENTILE;
RUN;
*/ appearance.JPG



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:historical historic Create column Named

milktree

沙发
milktree2003 发表于 2024-4-27 21:23:35
1.        How may SAS code create a new Column named “H” which is a firm’s daily rolling historical high price? (every line we have a firm’s id PERMNO, date, close price) vice versa “L”
2.        How may SAS code create a new Column named FLAG.
(1)        The price of a firm by that date > LAG(H), then classified into “Max” portfolio
(2)        vice versa “Min”
(3)        The remaining classified into third portfolio flagged “COMPARISON”
(4)        But a firm only flagged after a year by IPO. for example, a firm may only start to be classified after 1963/1/1, if this firm is IPOed on 1962/1/1. So these firms can only classified “unqualified” for the first year after IPO.
(5)        Because we will watch the monthly return after the stock is classified into Max or Min portfolio, so the same stock can not be reclassified into Max or Min within one month after it was classified into Max or Min.  for example, if a firm is classified into “Max” on 1963/1/1, then this firm can only classified into “Max” again after 1963/2/1.
3.        DEFINE EACH FIRM’S LAST MONTH’S MARKET VALUE= END OF LAST MONTH’S PRICE * END OF LAST MONTH’S SHARES OUTSTANDING
4.        PROC SORT DATA         BY DATE PERMNO MARKET VALUE(SMALL TO BIG), AND GIVE EACH DATE PERMNO MARKET VALUE A RANK(1 T0 X), AND GIVE THE PERCENTILE BY RANK/TOTAL NUMBERS X. THE 0~<25% ARE GROUP BY SMALL SIZE, THE 25%~<50% ARE GROUP BY MEDIUM SIZE, THE 50%~100% ARE GROUP BY BIG SIZE.
(1)        FIRMS ARE ASSIGNED TO A SIZE QUARTILE GROUP BASED ON THEIR PREVIOUS MONTH’S MARKET VALUE OF EQUITY RELATIVE TO THE DISTRIBUTION OF MARKET VALUE OF EQUITY ACROSS ALL THREE EXCHANGES.
5.        CALCULATE THE EQUAL-WEIGHTED (EW) AND VALUE-WEIGHTED (VW) COMPOUND DAILY RETURN FOR THE SUBSEQUENT WEEK AND MONTH BEGINNING THE DAY AFTER A FIRM IS ASSIGNED TO THE MAX, MIN, OR COMPARISON PORTFOLIO BY SMALL, MEDIUM, BIG SIZE.
(1)        AVERAGE DAILY PORTFOLIO BUY-AND-HOLD RETURNS (IN %) ARE MEASURED FOR THE SUBSEQUENT WEEK AND MONTH BEGINNING THE DAY AFTER A FIRM IS ASSIGNED TO THE MAX, MIN, OR COMPARISON PORTFOLIO.
(2)        EQUAL-WEIGHTED (EW) AND VALUE-WEIGHTED (VW) PORTFOLIO RETURNS ARE CALCULATED DAILY, AND THE PORTFOLIO IS REBALANCED AT THE END EACH DAY.
(3)        EW RETURNS ARE COMPOUNDED TO REDUCE BID ASK BIAS.
6.        CLACULATE THE INTERCEPT FROM A REGRESSION OF THE DAILY PORTFOLIO RETURN ON FAMA AND FRENCH (1993) FACTORS AND THE CARHART (1997) MOMENTUM FACTOR.

looklike.JPG (86.06 KB)

looklike.JPG

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-2 17:23