1 The SAS System 10:41 Monday, May 31, 2021 NOTE: Copyright (c) 2002-2012 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software 9.4 (TS1M3 MBCS3170) Licensed to NATIONAL BUREAU OF ECONOMIC RESEARCH, Site 70111350. NOTE: This session is executing on the Linux 3.10.0-1160.2.2.el7.x86_64 (LIN X64) platform. NOTE: Updated analytical products: SAS/STAT 14.1 NOTE: Additional host information: Linux LIN X64 3.10.0-1160.2.2.el7.x86_64 #1 SMP Mon Oct 19 10:20:12 CDT 2020 x86_64 Scientific Linux release 7.9 (Nitrogen) You are running SAS 9. Some SAS 8 files will be automatically converted by the V9 engine; others are incompatible. Please see http://support.sas.com/rnd/migration/planning/platform/64bit.html PROC MIGRATE will preserve current SAS file attributes and is recommended for converting all your SAS libraries from any SAS 8 release to SAS 9. For details and examples, please see http://support.sas.com/rnd/migration/index.html This message is contained in the SAS news file, and is presented upon initialization. Edit the file "news" in the "misc/base" directory to display site-specific news and information in the program log. The command line option "-nonews" will prevent this display. NOTE: SAS initialization used: real time 0.07 seconds cpu time 0.02 seconds 1 * Changes to convert scftax.sas to nber.sas 2 1. See all comments beginning *NBER for file paths 3 2. Change &HTAXFILE=NO to &HTAXFILE=&SYSPARM 4 3. (For convenience) change "ERROR:" to "err " 5 ; 6 7 8 * A program to compute tax rates and liabilities for the 1989-2019 9 SCFs. In this version, households are split into tax units using 10 various assumptions to divide up income and deductions. More 11 details about the assumptions are contained in comments within the code.; 12 * Kevin Moore, 11/20 13 * Items to change in each survey year macro call 14 1. Eligibility year for widowed filing status 15 2. Ceilings on home acquisition and home equity debt 16 3. Limit on charitable contributions 17 4. Itemized deduction AGI limits 18 5. Exemption amounts and phaseout limits 19 6. Standard deduction amounts 20 7. All year/dataset/filename references 21 8. Any SCF variable/question changes 2 The SAS System 10:41 Monday, May 31, 2021 22 9. Payroll tax rates and limits 23 10. LT/ST capitol gains/losses ratios; 24 * This version excludes the state variable - only federal tax 25 information is returned by TAXSIM; 26 * Users that wish to calculate state tax information may set the STATE 27 variable to -1 (in one place in the program). This will cause 28 TAXSIM to compute state tax information for each observation for all 29 states. Users may then average the tax variables for an 30 approximation of federal and state tax liabilities and rates.; 31 * The program should be run in two steps. First run the program 32 with HTAXFILE=YES to create .csv input file for internet TAXSIM v32. 33 After you have put the input file through TAXSIM, run the program 34 again with HTAXFILE=YES, which will pull in the output file from TAXSIM; 35 36 *NBER OPTIONS MPRINT; 37 OPTIONS LINESIZE=120; 38 39 * A few macros used throughout the program; 40 %MACRO TERMCON(NPMT=,NYR=,NMO=,PFREQ=,PMT=,TPER=); 41 IF (&NYR=0 & &NPMT=0) THEN DO; 42 &NMO=0; 43 44 END; 45 ELSE IF (&NYR^=0|&NPMT^=0) THEN DO; 46 IF (&NYR^=0) THEN DO; 47 IF (&NYR=-1) THEN DO; 48 &NMO=&NYR; 49 IF (&NPMT=0) THEN DO; 50 &NPMT=-1; 51 END; 52 END; 53 ELSE IF (&NYR>0) THEN DO; 54 &NMO=&NYR*12; 55 IF (&NPMT=0) THEN DO; 56 IF (&PFREQ IN (-1 -2)) THEN DO; 57 &NPMT=-7; 58 END; 59 ELSE IF (&PFREQ=-7) THEN DO; 60 &NPMT=-7; 61 END; 62 ELSE IF (&PFREQ=8) THEN DO; 63 &NPMT=1; 64 END; 65 ELSE IF (&PFREQ>.Z) THEN DO; 66 %MOCONV(AMT=&NMO,PER=&PFREQ,MOAMT=&NPMT,IML=NO); 67 END; 68 END; 69 END; 70 END; 71 ELSE IF (&NPMT=-1) THEN DO; 72 &NMO=-1; 73 IF (&NYR=0) THEN DO; 74 &NYR=-1; 75 END; 76 END; 77 ELSE IF (&NPMT>0) THEN DO; 78 PFREQ=&PFREQ; 79 IF (PFREQ<=0 & &TPER>0) THEN PFREQ=&TPER; 3 The SAS System 10:41 Monday, May 31, 2021 80 IF (PFREQ IN (-1 -2)) THEN DO; 81 &NMO=-7; 82 END; 83 ELSE IF (PFREQ=-7) THEN DO; 84 &NMO=-7; 85 END; 86 ELSE IF (PFREQ>.Z) THEN DO; 87 %IMOCONV(AMT=&NPMT,PER=PFREQ,CAMT=&NMO,IML=NO); 88 END; 89 IF (&NMO>0) THEN DO; 90 &NYR=MAX(1,INT(.5+(&NMO/12))); 91 &NMO=MAX(1,ROUND(&NMO)); 92 END; 93 IF (&NYR=0) THEN DO; 94 PUT "UNABLE TO CONVERT TERM " YY1= &NPMT= &NYR= &NMO= 95 &PFREQ= &PMT= &TPER=; 96 END; 97 END; 98 END; 99 %MEND TERMCON; 100 101 * conversion to monthly frequency; 102 * NOTE: if per is missing, but amount is given, this macro returns the 103 original value as MOAMT; 104 105 %MACRO MOCONV(AMT=,PER=,MOAMT=&AMT,IML=YES,WKS=52,HRS=40,YEAR8=NO); 106 IF (&PER=1) THEN &MOAMT=&AMT*5*&WKS/12; 107 ELSE IF (&PER=2) THEN &MOAMT=&AMT*&WKS/12; 108 ELSE IF (&PER=3) THEN &MOAMT=&AMT*26*(&WKS/52)/12; 109 ELSE IF (&PER=4) THEN &MOAMT=&AMT; 110 ELSE IF (&PER=5) THEN &MOAMT=&AMT/3; 111 ELSE IF (&PER=6) THEN &MOAMT=&AMT/12; 112 ELSE IF (&PER=20) THEN &MOAMT=&AMT*10/12; 113 ELSE IF (&PER=21) THEN &MOAMT=&AMT*3/12; 114 %IF (&YEAR8 EQ YES) %THEN %DO; 115 ELSE IF (&PER=8) THEN &MOAMT=&AMT/12; 116 %END; 117 ELSE IF (&PER=11) THEN &MOAMT=&AMT*(&WKS/52)/6; 118 ELSE IF (&PER=12) THEN &MOAMT=&AMT*(&WKS/52)/2; 119 ELSE IF (&PER=23) THEN &MOAMT=&AMT*13/12; 120 ELSE IF (&PER=24) THEN &MOAMT=&AMT*8.67/12; 121 ELSE IF (&PER=25) THEN &MOAMT=&AMT*(&WKS/52)/24; 122 ELSE IF (&PER=31) THEN &MOAMT=&AMT*(&WKS/52)*2; 123 ELSE IF (&PER=18) THEN &MOAMT=&AMT*&HRS*&WKS/12; 124 ELSE IF (&PER=0) THEN &MOAMT=0; 125 ELSE IF (&PER>.Z & &PER^=-1 & &PER^=-2) THEN DO; 126 &MOAMT=.; 127 %IF (&IML EQ YES) %THEN %DO; 128 PRINT "ERR CANNOT TRANSLATE PER FOR " Y1 &AMT &PER &MOAMT; 129 %END; 130 %ELSE %DO; 131 PUT / "ERR CANNOT TRANSLATE PER FOR " Y1= &AMT= &PER= &MOAMT=; 132 %END; 133 END; 134 ELSE IF (&AMT>.Z & &AMT<-2) THEN DO; 135 &MOAMT=.; 136 %IF (&IML EQ YES) %THEN %DO; 137 PRINT "ERR AMOUNT NEGATIVE, CANNOT TRANSLATE " YY1 &AMT &PER &MOAMT; 4 The SAS System 10:41 Monday, May 31, 2021 138 %END; 139 %ELSE %DO; 140 PUT / "ERR AMOUNT NEGATIVE, CANNOT TRANSLATE " Y1= &AMT= 141 &PER= &MOAMT=; 142 %END; 143 END; 144 ELSE IF (&AMT<=.Z) THEN &MOAMT=&AMT; 145 ELSE IF (&AMT^=-1 & &AMT^=-2) THEN DO; 146 %IF (&IML EQ YES) %THEN %DO; 147 PRINT "VALUE NOT CONVERTED FOR " Y1 X30075 &PER &AMT "SETTING AMT=."; 148 &MOAMT=.; 149 %END; 150 %ELSE %DO; 151 PUT "VALUE NOT CONVERTED FOR " Y1= &PER= &AMT= "SETTING AMT=."; 152 &MOAMT=.; 153 %END; 154 END; 155 %MEND MOCONV; 156 157 * conversion from monthly frequency to another specified frequency; 158 * NOTE: if per is missing, but amount is given, this macro returns the 159 original value as CAMT; 160 161 %MACRO IMOCONV(AMT=,PER=,CAMT=&AMT,IML=YES,WKS=52,HRS=40,YEAR8=NO); 162 IF (&AMT>0) THEN DO; 163 IF (&PER=1) THEN &CAMT=&AMT*12/(5*52); 164 ELSE IF (&PER=2) THEN &CAMT=MAX(1,INT(.5+(&AMT*12/&WKS))); 165 ELSE IF (&PER=3) THEN &CAMT=MAX(1,INT(.5+(&AMT*12/26))); 166 ELSE IF (&PER=4) THEN &CAMT=MAX(1,INT(.5+(&AMT))); 167 ELSE IF (&PER=5) THEN &CAMT=MAX(1,INT(.5+(&AMT*3))); 168 ELSE IF (&PER=6) THEN &CAMT=MAX(1,INT(.5+(&AMT*12))); 169 ELSE IF (&PER=21) THEN &CAMT=MAX(1,INT(.5+(&AMT*4))); 170 ELSE IF (&PER=20) THEN &CAMT=MAX(1,INT(.5+(&AMT*12/10))); 171 %IF (&YEAR8 EQ YES) %THEN %DO; 172 ELSE IF (&PER=8) THEN &CAMT=MAX(1,INT(.5+(&AMT*12))); 173 %END; 174 ELSE IF (&PER=11) THEN &CAMT=&AMT*6/(&WKS/52); 175 ELSE IF (&PER=12) THEN &CAMT=&AMT*2/(&WKS/52); 176 ELSE IF (&PER=31) THEN &CAMT=&AMT/(2*(&WKS/52)); 177 ELSE IF (&PER=14) THEN &CAMT=&AMT/(2*(&WKS/52)); 178 ELSE IF (&PER=18) THEN &CAMT=&AMT*12/(&HRS*&WKS); 179 ELSE IF (&PER=0) THEN &CAMT=0; 180 ELSE IF (&PER>.Z) THEN DO; 181 &CAMT=&AMT; 182 %IF (&IML EQ YES) %THEN %DO; 183 PRINT "ERR CANNOT TRANSLATE PER FOR " Y1 X30075 &AMT 184 &PER &CAMT; 185 %END; 186 %ELSE %DO; 187 PUT "ERR CANNOT TRANSLATE PER FOR " Y1= &AMT= &PER= 188 &CAMT=; 189 %END; 190 END; 191 END; 192 ELSE IF (&AMT>.Z & &AMT<-2) THEN DO; 193 &CAMT=&AMT; 194 %IF (&IML EQ YES) %THEN %DO; 195 PRINT "ERR AMOUNT NEGATIVE, CANNOT TRANSLATE " Y1 &AMT &PER &CAMT; 5 The SAS System 10:41 Monday, May 31, 2021 196 %END; 197 %ELSE %DO; 198 PUT "ERR AMOUNT NEGATIVE, CANNOT TRANSLATE " Y1= &AMT= 199 &PER= &CAMT=; 200 %END; 201 END; 202 ELSE IF (&AMT=0) THEN &CAMT=0; 203 ELSE IF (&AMT<=.Z) THEN &CAMT=&AMT; 204 ELSE IF (&AMT^=-1 & &AMT^=-2) THEN DO; 205 %IF (&IML EQ YES) %THEN %DO; 206 PRINT "VALUE NOT CONVERTED FOR " Y1 &PER &AMT "SETTING CAMT=."; 207 &CAMT=.; 208 %END; 209 %ELSE %DO; 210 PUT "VALUE NOT CONVERTED FOR " Y1= &PER= &AMT= "SETTING CAMT=."; 211 &CAMT=.; 212 %END; 213 END; 214 %MEND IMOCONV; 215 216 %MACRO ACONV(F); 217 ((&F=2)*52.18+(&F=3)*26.09+(&F=4)*12+(&F=5)*4+(&F=6)+(&F=8)+ 218 (&F=11)*2+(&F=12)*6+(&F=31)*24+(&F=14)+(&F=22)) 219 %MEND ACONV; 220 221 %MACRO MORTPAY(AMTB=,MPAY=,IR=,TERM=); 222 &MPAY=ROUND((MORT((&AMTB),.,((&IR/10000)/12),(&TERM))),.01); 223 %MEND MORTPAY; 224 225 226 *main macro; 227 *parameters 228 SYEAR - survey year 229 TYEAR - tax year, usually survey year-1, but could change to use tax 230 laws from different years 231 WYEAR - qualified widower year, usually tyear-2 232 ITDLIM1 - AGI limit for itemized deductions for single, joint, 233 widower, and head of household filers 234 ITDLIM2 - AGI limit for itemized deductions for married, filing 235 separately filers 236 ITDL10 - itemized deduction worksheet line 10 divisor 237 EXPAMT - personal exemption amount 238 EXPAMT2 - personal exemption amount if residual above AGI threshold 239 EXDL9 - personal exemption worksheet line 9 divisor 240 EXPAGIT1 - residual AGI threshold for single, joint, widower, and head 241 of household filers 242 EXPAGIT2 - residual AGI threshold for married, filing separately filers 243 EXLIM1 - AGI limit for exemptions for single filers 244 EXLIM2 - AGI limit for exemptions for joint or widower filers 245 EXLIM3 - AGI limit for exemptions for married, filing separately filers 246 EXLIM4 - AGI limit for exemptions for head of household filers 247 STDAMT1 - standard deduction amount for single filer or married filing 248 separately, no age exemption 249 STDAMT2 - standard deduction amount for single filer or married filing 250 separately, one age exemption 251 STDAMT3 - standard deduction amount for joint filer or widower, no age exemptions 252 STDAMT4 - standard deduction amount for joint filer or widower, one age exemption 253 STDAMT5 - standard deduction amount for joint filer, two age exemptions 6 The SAS System 10:41 Monday, May 31, 2021 254 STDAMT6 - standard deduction amount for head of household filer, no age exemption 255 STDAMT7 - standard deduction amount for head of household filer, one age exemption 256 FILELIM1 - filing threshold for single filers with no age exemption 257 FILELIM2 - filing threshold for single filers with one age exemption 258 FILELIM3 - filing threshold for joint filers with no age exemption 259 FILELIM4 - filing threshold for joint filers with one age exemption 260 FILELIM5 - filing threshold for joint filers with two age exemptions 261 FILELIM6 - filing threshold for married filing separately filers any age 262 FILELIM7 - filing threshold for head of household filers with no age exemption 263 FILELIM8 - filing threshold for head of household filers with one age exemption 264 FILELIM9 - filing threshold for widower filers with no age exemption 265 FILELIM10 - filing threshold for widower filers with one age exemption 266 LCGAGI1 - share of capital gains treated as long-term gains for filers 267 with AGI < 50k 268 LCLAGI1 - share of capital losses treated as long-term losses for filers 269 with AGI < 50k 270 LCGAGI2 - share of capital gains treated as long-term gains for filers 271 with 50k <= AGI < 100k 272 LCLAGI2 - share of capital losses treated as long-term losses for filers 273 with 50k <= AGI < 100k 274 LCGAGI3 - share of capital gains treated as long-term gains for filers 275 with AGI >= 100k 276 LCLAGI3 - share of capital losses treated as long-term losses for filers 277 with AGI >= 100k 278 PAYTAX - payroll tax rate, assuming employee pays both employer and 279 employee share 280 MEDHI - Medicare tax rate 281 PTLIM - annual payroll tax limit 282 HTAXFILE - flag for including code to merge TAXSIM data into SCF data, 283 set to NO by default, set to YES when you want merge TAXSIM data into 284 the SCF data 285 ; 286 287 %MACRO TAXSCF(SYEAR=,TYEAR=,WYEAR=,ITDLIM1=,ITDLIM2=,ITDL10=,EXPAMT=,EXPAMT2=,EXDL9=,EXPAGIT1=,EXPAGIT2=, 288 EXLIM1=,EXLIM2=,EXLIM3=,EXLIM4=,STDAMT1=,STDAMT2=,STDAMT3=,STDAMT4=,STDAMT5=,STDAMT6=, 289 STDAMT7=,FILELIM1=,FILELIM2=,FILELIM3=,FILELIM4=,FILELIM5=,FILELIM6=,FILELIM7=,FILELIM8=, 290 FILELIM9=,FILELIM10=,LCGAGI1=,LCLAGI1=,LCGAGI2=,LCLAGI2=,LCGAGI3=,LCLAGI3=,PAYTAX=, 291 MEDHI=,PTLIM=,HTAXFILE=&SYSPARM); 292 %LET SYR2=%SUBSTR(&SYEAR,3,2); 293 294 295 * define libraries for SCF public datasets; 296 %IF &SYEAR GE 2001 %THEN %DO; 297 *NBER LIBNAME SCF&SYR2 "pathname for SCF dataset" ACCESS=READONLY; 298 LIBNAME SCF&SYR2 "../orig/sas" ACCESS=READONLY; 299 %END; 300 %ELSE %DO; 301 *NBER LIBNAME SCF&SYR2 "pathname for SCF dataset" ACCESS=READONLY; 302 LIBNAME SCF&SYR2 "../orig/sas" ACCESS=READONLY; 303 %END; 304 * directory for datasets created by the program; 305 *NBER LIBNAME OUT "pathname for output datasets"; 306 LIBNAME OUT "../byhousehold/sas"; 307 * csv file for TAXSIM v32; 308 *NBER FILENAME SCFTAX "fullpath to taxsim input file"; 309 FILENAME SCFTAX "../taxsim/csv/txpydata&SYR2..csv"; 310 * csv from TAXSIM v32; 311 *NBER FILENAME TAXSIM "full path to taxsim results file"; 7 The SAS System 10:41 Monday, May 31, 2021 312 FILENAME TAXSIM "../taxsim/csv/results&SYR2..csv"; 313 314 * read in public SCF data, assumes dataset name is pXXiY.sas7bdat; 315 * NOTE: Any changes to the libname or data set name must also be made in this data step; 316 DATA MAIN; 317 %IF &SYEAR GE 1995 %THEN %DO; 318 SET SCF&SYR2%STR(.P)&SYR2%STR(I6); 319 %END; 320 %ELSE %IF &SYEAR EQ 1992 %THEN %DO; 321 SET SCF&SYR2%STR(.P)&SYR2%STR(I4); 322 %END; 323 %ELSE %IF &SYEAR EQ 1989 %THEN %DO; 324 SET SCF&SYR2%STR(.P)&SYR2%STR(I6); 325 YY1=XX1; 326 Y1=X1; 327 %END; 328 RUN; 329 330 PROC SORT DATA=MAIN; 331 BY Y1; 332 RUN; 333 334 DATA SCF; 335 336 SET MAIN; 337 338 WGT=(X42001/5); 339 POP=1; 340 341 * setting STATE variable to zero, set to -1 if you want 342 TAXSIM to compute state tax for all 51 states; 343 STATE=0; 344 345 * Small data fix for one case in 1992; 346 %IF &SYEAR EQ 1992 %THEN %DO; 347 IF (YY1=2078 & X107=0) THEN DO; 348 X107=1; 349 END; 350 %END; 351 352 * Small data fix for one case in 1998; 353 %IF &SYEAR EQ 1998 %THEN %DO; 354 IF (YY1=1002 & X105=0) THEN DO; 355 X105=1; 356 END; 357 %END; 358 359 * Small data fix for one case in 2007; 360 %IF &SYEAR EQ 2007 %THEN %DO; 361 IF (YY1=715 & X105=2) THEN DO; 362 X105=0; 363 END; 364 %END; 365 366 * Small data fix for one case in 2013; 367 %IF &SYEAR EQ 2013 %THEN %DO; 368 IF (YY1=4225 & X1016=0) THEN DO; 369 X1016=-1; 8 The SAS System 10:41 Monday, May 31, 2021 370 END; 371 %END; 372 373 * Payment frequency on other loans not asked in 1989, assumed to be 374 monthly; 375 %IF &SYEAR EQ 1989 %THEN %DO; 376 X7527=4*(X2718>0)+X2718*(X2718<=0); 377 X7526=4*(X2735>0)+X2735*(X2735<=0); 378 X7525=4*(X2818>0)+X2818*(X2818<=0); 379 X7524=4*(X2835>0)+X2835*(X2835<=0); 380 X7523=4*(X2918>0)+X2918*(X2918<=0); 381 X7522=4*(X2935>0)+X2935*(X2935<=0); 382 %END; 383 384 * Only one other income variable after 1992, set to zero for 1992 385 forward; 386 %IF &SYEAR GE 1995 %THEN %DO; 387 X5726=0; 388 X5727=0; 389 %END; 390 391 * Spouse/partner in PEU, need to create X7020 for 1989 to 1998; 392 %IF &SYEAR GE 1989 AND &SYEAR LE 1998 %THEN %DO; 393 IF X107 IN(0 2 5 12) THEN X7020=1; 394 ELSE IF X107=1 THEN X7020=2; 395 %END; 396 397 * A few other recodes to construct variables not asked in 1989 and 1992; 398 %IF &SYEAR GE 1989 AND &SYEAR LE 1992 %THEN %DO; 399 X7135=5*(X714=1); 400 X7133=0; 401 X7134=0; 402 X7367=0; 403 X7368=0; 404 X7369=0; 405 X7018=0; 406 X7372=5*(X8023=5); 407 X7050=(X113 IN(2 3 4 5))+(X119 IN(2 3 4 5))+(X125 IN(2 3 4 5))+(X131 IN(2 3 4 5))+(X137 IN(2 3 4 5)) 408 +(X207 IN(2 3 4 5))+(X213 IN(2 3 4 5))+(X219 IN(2 3 4 5))+(X225 IN(2 3 4 5))+(X231 IN(2 3 4 5)); 409 X7001=X101-X7050; 410 X7377=0; 411 X7392=0; 412 %END; 413 414 * Number of years with spouse/partner; 415 IF &SYEAR=X8005 THEN X7370=-1; 416 ELSE X7370=&SYEAR-X8005; 417 418 * Number of people in NPEU, need to compute for 1989 to 2004, variable exists for 2007 forward; 419 %IF &SYEAR GE 1995 AND &SYEAR LE 2004 %THEN %DO; 420 X7050=X101-X7001; 421 %END; 422 423 424 * Absent spouse/partner indicator; 425 IF (X100=5) | (X106=5 & X107 IN(2 5 12)) THEN ABSP_P=1; 426 ELSE ABSP_P=0; 427 PERSEXP=1+(X105 IN(1 2))*(ABSP_P=0); 9 The SAS System 10:41 Monday, May 31, 2021 428 * Including children living elsewhere that are under 18, max of one extra as 429 there is uncertainty about dependent status; 430 %IF &SYEAR LE 1992 OR &SYEAR GE 2007 %THEN %DO; 431 KIDS=(X108 IN(4 13))*(X110 < 19) + 432 (X114 IN(4 13))*(X116 < 19) + 433 (X120 IN(4 13))*(X122 < 19) + 434 (X126 IN(4 13))*(X128 < 19) + 435 (X132 IN(4 13))*(X134 < 19) + 436 (X202 IN(4 13))*(X204 < 19) + 437 (X208 IN(4 13))*(X210 < 19) + 438 (X214 IN(4 13))*(X216 < 19) + 439 (X220 IN(4 13))*(X222 < 19) + 440 (X226 IN(4 13))*(X228 < 19) + 441 (X5912 > 0 | X5912=-2); 442 %END; 443 %ELSE %IF &SYEAR GE 1995 & &SYEAR LE 2004 %THEN %DO; 444 KIDS=(X108 IN(4 13))*(X110 < 19) + 445 (X114 IN(4 13))*(X116 < 19) + 446 (X120 IN(4 13))*(X122 < 19) + 447 (X126 IN(4 13))*(X128 < 19) + 448 (X132 IN(4 13))*(X134 < 19) + 449 (X202 IN(4 13))*(X204 < 19) + 450 (X208 IN(4 13))*(X210 < 19) + 451 (X214 IN(4 13))*(X216 < 19) + 452 (X220 IN(4 13))*(X222 < 19) + 453 (X5912 > 0 | X5912=-2); 454 %END; 455 456 * For the child tax credit - must be under 17; 457 %IF &SYEAR LE 1992 OR &SYEAR GE 2007 %THEN %DO; 458 KIDSU17=(X108 IN(4 13))*(X110 < 17) + 459 (X114 IN(4 13))*(X116 < 17) + 460 (X120 IN(4 13))*(X122 < 17) + 461 (X126 IN(4 13))*(X128 < 17) + 462 (X132 IN(4 13))*(X134 < 17) + 463 (X202 IN(4 13))*(X204 < 17) + 464 (X208 IN(4 13))*(X210 < 17) + 465 (X214 IN(4 13))*(X216 < 17) + 466 (X220 IN(4 13))*(X222 < 17) + 467 (X226 IN(4 13))*(X228 < 17); 468 %END; 469 %ELSE %IF &SYEAR GE 1995 & &SYEAR LE 2004 %THEN %DO; 470 KIDSU17=(X108 IN(4 13))*(X110 < 17) + 471 (X114 IN(4 13))*(X116 < 17) + 472 (X120 IN(4 13))*(X122 < 17) + 473 (X126 IN(4 13))*(X128 < 17) + 474 (X132 IN(4 13))*(X134 < 17) + 475 (X202 IN(4 13))*(X204 < 17) + 476 (X208 IN(4 13))*(X210 < 17) + 477 (X214 IN(4 13))*(X216 < 17) + 478 (X220 IN(4 13))*(X222 < 17) ; 479 %END; 480 481 %IF &SYEAR LE 1992 OR &SYEAR GE 2007 %THEN %DO; 482 KIDSU18=(X108 IN(4 13))*(X110 < 18) + 483 (X114 IN(4 13))*(X116 < 18) + 484 (X120 IN(4 13))*(X122 < 18) + 485 (X126 IN(4 13))*(X128 < 18) + 10 The SAS System 10:41 Monday, May 31, 2021 486 (X132 IN(4 13))*(X134 < 18) + 487 (X202 IN(4 13))*(X204 < 18) + 488 (X208 IN(4 13))*(X210 < 18) + 489 (X214 IN(4 13))*(X216 < 18) + 490 (X220 IN(4 13))*(X222 < 18) + 491 (X226 IN(4 13))*(X228 < 18); 492 %END; 493 %ELSE %IF &SYEAR GE 1995 & &SYEAR LE 2004 %THEN %DO; 494 KIDSU18=(X108 IN(4 13))*(X110 < 18) + 495 (X114 IN(4 13))*(X116 < 18) + 496 (X120 IN(4 13))*(X122 < 18) + 497 (X126 IN(4 13))*(X128 < 18) + 498 (X132 IN(4 13))*(X134 < 18) + 499 (X202 IN(4 13))*(X204 < 18) + 500 (X208 IN(4 13))*(X210 < 18) + 501 (X214 IN(4 13))*(X216 < 18) + 502 (X220 IN(4 13))*(X222 < 18) ; 503 %END; 504 505 %IF &SYEAR LE 1992 OR &SYEAR GE 2007 %THEN %DO; 506 KIDSU13=(X108 IN(4 13))*(X110 < 13) + 507 (X114 IN(4 13))*(X116 < 13) + 508 (X120 IN(4 13))*(X122 < 13) + 509 (X126 IN(4 13))*(X128 < 13) + 510 (X132 IN(4 13))*(X134 < 13) + 511 (X202 IN(4 13))*(X204 < 13) + 512 (X208 IN(4 13))*(X210 < 13) + 513 (X214 IN(4 13))*(X216 < 13) + 514 (X220 IN(4 13))*(X222 < 13) + 515 (X226 IN(4 13))*(X228 < 13); 516 %END; 517 %ELSE %IF &SYEAR GE 1995 & &SYEAR LE 2004 %THEN %DO; 518 KIDSU13=(X108 IN(4 13))*(X110 < 13) + 519 (X114 IN(4 13))*(X116 < 13) + 520 (X120 IN(4 13))*(X122 < 13) + 521 (X126 IN(4 13))*(X128 < 13) + 522 (X132 IN(4 13))*(X134 < 13) + 523 (X202 IN(4 13))*(X204 < 13) + 524 (X208 IN(4 13))*(X210 < 13) + 525 (X214 IN(4 13))*(X216 < 13) + 526 (X220 IN(4 13))*(X222 < 13) ; 527 %END; 528 529 530 531 * Indicator for R living with a partner; 532 LWP=(X8023=2); 533 534 RAGE=X14; 535 * Set spouse/parnter age to zero if absent spouse/partner; 536 SPAGE=X19*(X7020=2); 537 538 * Possible scenarios, not considering NPEU right now, will create those 539 tax units last 540 1. Married filing jointly households = tax unit 541 2. Single person households = tax unit 542 3. Filing separately households = split into two tax units, need 543 to determine if single or married filing separately filing status 11 The SAS System 10:41 Monday, May 31, 2021 544 4. LWP households = split into two tax units even if one person is 545 a nonfiler 546 For 3. and 4., one of the tax units may have head of household 547 status depending on presence of children 548 For each new tax unit, start with replicate of household data and 549 parse out income, deductions, exemptions; 550 551 * Create new observations from married filing separately households 552 or LWP households. 553 * NOTE: For 1989 and 1992, no married filing separately tax units as variables 554 asking about past marriages are not in the public data 555 0. Tax unit = household 556 1. Created tax unit for household head 557 2. Created tax unit for spouse/partner 558 3-8. Created tax unit for NPEU member 559 Note: If R and Sp are legally married for more than one year, 560 treat as married filing joint even if x5746=3,4. If R and Sp LWP 561 and report filing jointly treat as two tax units. If R and Sp 562 married and report filing separately, treat as filing jointly 563 unless either R or Sp has a past marriage. Inspection of the data 564 reveals that too many married couples report filing separately 565 when compared to the IRS data. The past marriage condition put 566 the number closer to the IRS data.; 567 MARRIED=(X8023=1 & X105=1 & X7370 >= 1 & X7020=2); 568 IF (X5744 IN(1 6) & X5746=1 & MARRIED=1) 569 | (MARRIED=1 & ((X5744=5 | X5746 IN(3 4)) | (X5746=2 & X7377^=2 & X7392^=2))) 570 | (X8023 > 0 & X105=0 & (X5744=5 | (X5744 IN(1 6) & X5746=0))) 571 | (X8023 > 0 & X105 > 0 & X5744 IN(1 5 6) & X5746=0 & X7020=1) 572 | (X8023=8 & X105=0 & X5744=1 & X5746=1) 573 THEN TAXUNIT=0; 574 ELSE IF (X5744 IN(1 6) & X5746 IN(2 3 4)) | (X8023 > 0 & X105 > 0 575 & (X5744=5 | (X5744 IN(1 6) & X5746 IN(0 1)))) 576 | (X8023=1 & X105=1 & X7370=-1 & X5744=1) THEN TAXUNIT=1; 577 ELSE PUT "MISSING TAXUNIT STATUS " YY1= X5744= X5746= X8023= X105= 578 X7020= MARRIED= X7372= X7018= X7370=; 579 TUAGE=RAGE; 580 RUN; 581 582 583 584 PROC FREQ DATA=SCF; 585 TITLE "&SYEAR SCF "; 586 TABLES TAXUNIT*(X5744 X5746 X7020 ABSP_P); 587 TABLES MARRIED*(TAXUNIT X5744 X5746 X7020); 588 TABLES X7020*ABSP_P; 589 RUN; 590 591 DATA NEWUNITS; 592 SET SCF; 593 IF TAXUNIT=1; 594 TAXUNIT=2; 595 TUAGE=SPAGE; 596 SPAGE=0; 597 RUN; 598 599 DATA SCF; 600 SET SCF NEWUNITS; 601 RUN; 12 The SAS System 10:41 Monday, May 31, 2021 602 603 PROC FREQ DATA=SCF; 604 TABLES TAXUNIT*(X5744 X5746 X7020 ABSP_P); 605 TABLES MARRIED*(TAXUNIT X5744 X5746 X7020); 606 TABLES X7020*ABSP_P; 607 RUN; 608 609 DATA SCF; 610 SET SCF; 611 612 * Codes for filestat, assigning status even if did not file, will 613 determine non-filer status later, filing status for split tax units 614 done after splitting up income 615 1= Single 616 2= Married filing jointly 617 3= Married filing separately 618 4= Head of HH 619 5= Qualified widower; 620 FILESTAT=0; 621 IF TAXUNIT=0 THEN DO; 622 IF (MARRIED=1) THEN FILESTAT=2; 623 ELSE IF MARRIED=0 THEN DO; 624 IF PERSEXP=1 & KIDS=0 THEN FILESTAT=1; 625 ELSE IF PERSEXP=1 & KIDS > 0 & X8023=5 & X7372=5 & X8007>=&WYEAR THEN FILESTAT=5; 626 ELSE IF PERSEXP=1 & KIDS > 0 THEN FILESTAT=4; 627 END; 628 TOTEXPT=PERSEXP+KIDS; 629 END; 630 631 632 * No AGI variables starting in 2010; 633 * Coding income variables with -1 and -2 to zero, for 2004 forward negative values 634 in the public data are set to -9; 635 ARRAY NEG {*} X5704 X5714 X5724 X5726 X5729; 636 DO I=1 TO DIM(NEG); 637 IF NEG{I} IN(-9 -2 -1) THEN NEG{I}=0; 638 END; 639 640 * Income from wages and business; 641 R_LABORINC=MAX(0,X4112)*%ACONV(X4113); 642 SP_LABORINC=MAX(0,X4712)*%ACONV(X4713); 643 R_BUSINC=MAX(0,X4131)*%ACONV(X4132); 644 SP_BUSINC=MAX(0,X4731)*%ACONV(X4732); 645 646 * Income from pensions and tax-deferred account withdrawals. No 647 withdrawal information for IRAs or future pensions prior to 2004. No 648 withdrawal information for any tax-deferred accounts, aside from 649 other income, prior to 2001; 650 %IF &SYEAR GE 2010 %THEN %DO; 651 R_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=1)*(X5317>=1))) 652 +MAX(0,(X5326*%ACONV(X5327)*(X5323=1)*(X5325>=1))) 653 +MAX(0,(X5334*%ACONV(X5335)*(X5331=1)*(X5333>=1))) 654 +MAX(0,(X5418*%ACONV(X5419)*(X5415=1)*(X5417>=1))); 655 R_WITHDRAW=X6558+(X6574*.5)+MAX(0,(X6464*%ACONV(X6465)*(X5315=1))) 656 +MAX(0,(X6469*%ACONV(X6470)*(X5323=1)))+MAX(0,(X6474*%ACONV(X6475)*(X5331=1))) 657 +MAX(0,(X6479*%ACONV(X6480)*(X5415=1)))+MAX(0,(X6965*%ACONV(X6966)*(X5606=1))) 658 +MAX(0,(X6971*%ACONV(X6972)*(X5614=1)))+MAX(0,(X6977*%ACONV(X6978)*(X5622=1))) 659 +MAX(0,(X6983*%ACONV(X6984)*(X5630=1)))+(X5724)*(X5725=11)*.5; 13 The SAS System 10:41 Monday, May 31, 2021 660 SP_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=2)*(X5317>=1))) 661 +MAX(0,(X5326*%ACONV(X5327)*(X5323=2)*(X5325>=1))) 662 +MAX(0,(X5334*%ACONV(X5335)*(X5331=2)*(X5333>=1))) 663 +MAX(0,(X5418*%ACONV(X5419)*(X5415=2)*(X5417>=1))); 664 SP_WITHDRAW=X6566+(X6574*.5)+MAX(0,(X6464*%ACONV(X6465)*(X5315=2))) 665 +MAX(0,(X6469*%ACONV(X6470)*(X5323=2)))+MAX(0,(X6474*%ACONV(X6475)*(X5331=2))) 666 +MAX(0,(X6479*%ACONV(X6480)*(X5415=2)))+MAX(0,(X6965*%ACONV(X6966)*(X5606=2))) 667 +MAX(0,(X6971*%ACONV(X6972)*(X5614=2)))+MAX(0,(X6977*%ACONV(X6978)*(X5622=2))) 668 +MAX(0,(X6983*%ACONV(X6984)*(X5630=2)))+(X5724)*(X5725=11)*.5; 669 %END; 670 %ELSE %IF &SYEAR GE 2004 AND &SYEAR LE 2007 %THEN %DO; 671 R_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=1)*(X5317>=1))) 672 +MAX(0,(X5326*%ACONV(X5327)*(X5323=1)*(X5325>=1))) 673 +MAX(0,(X5334*%ACONV(X5335)*(X5331=1)*(X5333>=1))) 674 +MAX(0,(X5418*%ACONV(X5419)*(X5415=1)*(X5417>=1))) 675 +MAX(0,(X5426*%ACONV(X5427)*(X5423=1)*(X5425>=1))) 676 +MAX(0,(X5434*%ACONV(X5435)*(X5431=1)*(X5433>=1))); 677 R_WITHDRAW=X6558+(X6574*.5)+MAX(0,(X6464*%ACONV(X6465)*(X5315=1))) 678 +MAX(0,(X6469*%ACONV(X6470)*(X5323=1)))+MAX(0,(X6474*%ACONV(X6475)*(X5331=1))) 679 +MAX(0,(X6479*%ACONV(X6480)*(X5415=1)))+MAX(0,(X6484*%ACONV(X6485)*(X5423=1))) 680 +MAX(0,(X6489*%ACONV(X6490)*(X5431=1)))+MAX(0,(X6965*%ACONV(X6966)*(X5606=1))) 681 +MAX(0,(X6971*%ACONV(X6972)*(X5614=1)))+MAX(0,(X6977*%ACONV(X6978)*(X5622=1))) 682 +MAX(0,(X6983*%ACONV(X6984)*(X5630=1)))+MAX(0,(X6989*%ACONV(X6990)*(X5638=1))) 683 +MAX(0,(X6995*%ACONV(X6996)*(X5646=1)))+(X5724)*(X5725=11)*.5; 684 SP_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=2)*(X5317>=1))) 685 +MAX(0,(X5326*%ACONV(X5327)*(X5323=2)*(X5325>=1))) 686 +MAX(0,(X5334*%ACONV(X5335)*(X5331=2)*(X5333>=1))) 687 +MAX(0,(X5418*%ACONV(X5419)*(X5415=2)*(X5417>=1))) 688 +MAX(0,(X5426*%ACONV(X5427)*(X5423=2)*(X5425>=1))) 689 +MAX(0,(X5434*%ACONV(X5435)*(X5431=2)*(X5433>=1))); 690 SP_WITHDRAW=X6566+(X6574*.5)+MAX(0,(X6464*%ACONV(X6465)*(X5315=2))) 691 +MAX(0,(X6469*%ACONV(X6470)*(X5323=2)))+MAX(0,(X6474*%ACONV(X6475)*(X5331=2))) 692 +MAX(0,(X6479*%ACONV(X6480)*(X5415=2)))+MAX(0,(X6484*%ACONV(X6485)*(X5423=2))) 693 +MAX(0,(X6489*%ACONV(X6490)*(X5431=2)))+MAX(0,(X6965*%ACONV(X6966)*(X5606=2))) 694 +MAX(0,(X6971*%ACONV(X6972)*(X5614=2)))+MAX(0,(X6977*%ACONV(X6978)*(X5622=2))) 695 +MAX(0,(X6983*%ACONV(X6984)*(X5630=2)))+MAX(0,(X6989*%ACONV(X6990)*(X5638=2))) 696 +MAX(0,(X6995*%ACONV(X6996)*(X5646=2)))+(X5724)*(X5725=11)*.5; 697 %END; 698 %ELSE %IF &SYEAR EQ 2001 %THEN %DO; 699 R_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=1)*(X5317>=1))) 700 +MAX(0,(X5326*%ACONV(X5327)*(X5323=1)*(X5325>=1))) 701 +MAX(0,(X5334*%ACONV(X5335)*(X5331=1)*(X5333>=1))) 702 +MAX(0,(X5418*%ACONV(X5419)*(X5415=1)*(X5417>=1))) 703 +MAX(0,(X5426*%ACONV(X5427)*(X5423=1)*(X5425>=1))) 704 +MAX(0,(X5434*%ACONV(X5435)*(X5431=1)*(X5433>=1))); 705 R_WITHDRAW=MAX(0,(X6464*%ACONV(X6465)*(X5315=1))) 706 +MAX(0,(X6469*%ACONV(X6470)*(X5323=1)))+MAX(0,(X6474*%ACONV(X6475)*(X5331=1))) 707 +MAX(0,(X6479*%ACONV(X6480)*(X5415=1)))+MAX(0,(X6484*%ACONV(X6485)*(X5423=1))) 708 +MAX(0,(X6489*%ACONV(X6490)*(X5431=1)))+(X5724)*(X5725=11)*.5; 709 SP_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=2)*(X5317>=1))) 710 +MAX(0,(X5326*%ACONV(X5327)*(X5323=2)*(X5325>=1))) 711 +MAX(0,(X5334*%ACONV(X5335)*(X5331=2)*(X5333>=1))) 712 +MAX(0,(X5418*%ACONV(X5419)*(X5415=2)*(X5417>=1))) 713 +MAX(0,(X5426*%ACONV(X5427)*(X5423=2)*(X5425>=1))) 714 +MAX(0,(X5434*%ACONV(X5435)*(X5431=2)*(X5433>=1))); 715 SP_WITHDRAW=MAX(0,(X6464*%ACONV(X6465)*(X5315=2))) 716 +MAX(0,(X6469*%ACONV(X6470)*(X5323=2)))+MAX(0,(X6474*%ACONV(X6475)*(X5331=2))) 717 +MAX(0,(X6479*%ACONV(X6480)*(X5415=2)))+MAX(0,(X6484*%ACONV(X6485)*(X5423=2))) 14 The SAS System 10:41 Monday, May 31, 2021 718 +MAX(0,(X6489*%ACONV(X6490)*(X5431=2)))+(X5724)*(X5725=11)*.5; 719 %END; 720 %ELSE %IF &SYEAR GE 1995 AND &SYEAR LE 1998 %THEN %DO; 721 R_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=1)*(X5317>=1))) 722 +MAX(0,(X5326*%ACONV(X5327)*(X5323=1)*(X5325>=1))) 723 +MAX(0,(X5334*%ACONV(X5335)*(X5331=1)*(X5333>=1))) 724 +MAX(0,(X5418*%ACONV(X5419)*(X5415=1)*(X5417>=1))) 725 +MAX(0,(X5426*%ACONV(X5427)*(X5423=1)*(X5425>=1))) 726 +MAX(0,(X5434*%ACONV(X5435)*(X5431=1)*(X5433>=1))); 727 R_WITHDRAW=(X5724)*(X5725=11)*.5; 728 SP_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=2)*(X5317>=1))) 729 +MAX(0,(X5326*%ACONV(X5327)*(X5323=2)*(X5325>=1))) 730 +MAX(0,(X5334*%ACONV(X5335)*(X5331=2)*(X5333>=1))) 731 +MAX(0,(X5418*%ACONV(X5419)*(X5415=2)*(X5417>=1))) 732 +MAX(0,(X5426*%ACONV(X5427)*(X5423=2)*(X5425>=1))) 733 +MAX(0,(X5434*%ACONV(X5435)*(X5431=2)*(X5433>=1))); 734 SP_WITHDRAW=(X5724)*(X5725=11)*.5; 735 %END; 736 %ELSE %IF &SYEAR LE 1992 %THEN %DO; 737 R_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=1)*(X5317>=1))) 738 +MAX(0,(X5326*%ACONV(X5327)*(X5323=1)*(X5325>=1))) 739 +MAX(0,(X5334*%ACONV(X5335)*(X5331=1)*(X5333>=1))) 740 +MAX(0,(X5418*%ACONV(X5419)*(X5415=1)*(X5417>=1))) 741 +MAX(0,(X5426*%ACONV(X5427)*(X5423=1)*(X5425>=1))) 742 +MAX(0,(X5434*%ACONV(X5435)*(X5431=1)*(X5433>=1))); 743 R_WITHDRAW=(X5724)*(X5725=11)*.5+(X5726)*(X5727=11)*.5; 744 SP_REGPEN=MAX(0,(X5318*%ACONV(X5319)*(X5315=2)*(X5317>=1))) 745 +MAX(0,(X5326*%ACONV(X5327)*(X5323=2)*(X5325>=1))) 746 +MAX(0,(X5334*%ACONV(X5335)*(X5331=2)*(X5333>=1))) 747 +MAX(0,(X5418*%ACONV(X5419)*(X5415=2)*(X5417>=1))) 748 +MAX(0,(X5426*%ACONV(X5427)*(X5423=2)*(X5425>=1))) 749 +MAX(0,(X5434*%ACONV(X5435)*(X5431=2)*(X5433>=1))); 750 SP_WITHDRAW=(X5724)*(X5725=11)*.5+(X5726)*(X5727=11)*.5; 751 %END; 752 753 754 * For new tax units need to split up income and determine which new 755 tax unit is assigned which deductions and exemptions. Also need to 756 zero out any variables not relevant to the new tax unit (ex. spouses 757 wages); 758 759 IF TAXUNIT IN(1 2) THEN DO; 760 * age; 761 IF (TAXUNIT=1) THEN SPAGE=0; 762 * wages; 763 IF (TAXUNIT=1 & (R_LABORINC+SP_LABORINC>0)) 764 THEN WSINCOME=MAX(0,X5702)*(R_LABORINC/(R_LABORINC+SP_LABORINC))*(R_LABORINC>0); 765 ELSE IF (TAXUNIT=2 & (R_LABORINC+SP_LABORINC>0)) 766 THEN WSINCOME=MAX(0,X5702)*(SP_LABORINC/(R_LABORINC+SP_LABORINC))*(SP_LABORINC>0); 767 ELSE WSINCOME=MAX(0,X5702)*.5; 768 WSINCSP=0; 769 * business income; 770 %IF &SYEAR GE 2010 %THEN %DO; 771 R_SOLEPROP=(X4106 IN(2 3 4) | (X3113=1 & X3119=2) | (X3213=1 & X3219=2)); 772 SP_SOLEPROP=(X4706 IN(2 3 4) | (X3114=1 & X3119=2) | (X3214=1 & X3219=2)); 773 %END; 774 %ELSE %IF &SYEAR LE 2007 %THEN %DO; 775 R_SOLEPROP=(X4106 IN(2 3 4) | (X3113=1 & X3119=2) | (X3213=1 15 The SAS System 10:41 Monday, May 31, 2021 776 & X3219=2) | (X3313=1 & X3319=2)); 777 SP_SOLEPROP=(X4706 IN(2 3 4) | (X3114=1 & X3119=2) | 778 (X3214=1 & X3219=2) | (X3313=1 & X3319=2)); 779 %END; 780 IF (TAXUNIT=1 & (R_BUSINC+SP_BUSINC>0) & (R_SOLEPROP=1 | SP_SOLEPROP=1)) THEN DO; 781 IF (R_SOLEPROP=1 & SP_SOLEPROP=1) 782 THEN TBUSINC=X5704*(R_BUSINC/(R_BUSINC+SP_BUSINC))*(R_BUSINC>0); 783 ELSE IF (R_SOLEPROP=1 & SP_SOLEPROP=0) 784 THEN TBUSINC=X5704; 785 ELSE IF (R_SOLEPROP=0 & SP_SOLEPROP=1) 786 THEN TBUSINC=0; 787 END; 788 ELSE IF (TAXUNIT=2 & (R_BUSINC+SP_BUSINC>0) & (R_SOLEPROP=1 | SP_SOLEPROP=1)) THEN DO; 789 IF (R_SOLEPROP=1 & SP_SOLEPROP=1) 790 THEN TBUSINC=X5704*(SP_BUSINC/(R_BUSINC+SP_BUSINC))*(SP_BUSINC>0); 791 ELSE IF (R_SOLEPROP=0 & SP_SOLEPROP=1) 792 THEN TBUSINC=X5704; 793 ELSE IF (R_SOLEPROP=1 & SP_SOLEPROP=0) 794 THEN TBUSINC=0; 795 END; 796 ELSE TBUSINC=X5704*.5; 797 * interest, dividends, and capital gains - just split 50-50; 798 NTAXINC= MAX(0,X5706)*.5; 799 INTINC= MAX(0,X5708)*.5; 800 DIVINC= MAX(0,X5710)*.5; 801 IF X5712=-1 THEN CAPGLINC=0; 802 ELSE CAPGLINC=X5712*.5; 803 * rent, royalties, partnership and scorp income; 804 R_PARTNER_SCORP=(X4106 IN(2 3 4) | (X3113=1 & X3119 IN(1 3 6 11 12 15)) 805 | (X3213=1 & X3219 IN(1 3 6 11 12 15))); 806 SP_PARTNER_SCORP=(X4106 IN(2 3 4) | (X3114=1 & X3119 IN(1 3 6 11 12 15)) 807 | (X3214=1 & X3219 IN(1 3 6 11 12 15))); 808 IF (TAXUNIT=1 & (R_BUSINC+SP_BUSINC>0) & (R_PARTNER_SCORP=1 | SP_PARTNER_SCORP=1)) THEN DO; 809 IF (R_PARTNER_SCORP=1 & SP_PARTNER_SCORP=1) 810 THEN RENTINC=X5714*(R_BUSINC/(R_BUSINC+SP_BUSINC))*(R_BUSINC>0); 811 ELSE IF (R_PARTNER_SCORP=1 & SP_PARTNER_SCORP=0) 812 THEN RENTINC=X5714; 813 ELSE IF (R_PARTNER_SCORP=0 & SP_PARTNER_SCORP=1) 814 THEN RENTINC=0; 815 END; 816 ELSE IF (TAXUNIT=2 & (R_BUSINC+SP_BUSINC>0) & (R_PARTNER_SCORP=1 | SP_PARTNER_SCORP=1)) THEN DO; 817 IF (R_PARTNER_SCORP=1 & SP_PARTNER_SCORP=1) 818 THEN RENTINC=X5714*(SP_BUSINC/(R_BUSINC+SP_BUSINC))*(SP_BUSINC>0); 819 ELSE IF (R_PARTNER_SCORP=0 & SP_PARTNER_SCORP=1) 820 THEN RENTINC=X5714; 821 ELSE IF (R_PARTNER_SCORP=1 & SP_PARTNER_SCORP=0) 822 THEN RENTINC=0; 823 END; 824 ELSE RENTINC=X5714*.5; 825 * unemployment income, no questions about unemployed in past 12 months prior to 1998; 826 %IF &SYEAR GE 1998 %THEN %DO; 827 IF (TAXUNIT=1) THEN DO; 828 IF (X6780=1) THEN 829 UNEMPINC=MAX(0,X5716)*(X6784 IN(0 5))+MAX(0,X5716)*(X6784=1)*.5; 830 ELSE IF (X6780=5 & X6784=1) THEN UNEMPINC=0; 831 ELSE UNEMPINC=MAX(0,X5716)*.5; 832 END; 833 ELSE IF (TAXUNIT=2) THEN DO; 16 The SAS System 10:41 Monday, May 31, 2021 834 IF (X6784=1) THEN 835 UNEMPINC=MAX(0,X5716)*(X6780 IN(0 5))+MAX(0,X5716)*(X6780=1)*.5; 836 ELSE IF (X6784=5 & X6780=1) THEN UNEMPINC=0; 837 ELSE UNEMPINC=MAX(0,X5716)*.5; 838 END; 839 %END; 840 %ELSE %IF &SYEAR LE 1995 %THEN %DO; 841 IF (TAXUNIT=1) THEN DO; 842 UNEMPINC=MAX(0,X5716)*.5; 843 END; 844 ELSE IF (TAXUNIT=2) THEN DO; 845 UNEMPINC=MAX(0,X5716)*.5; 846 END; 847 %END; 848 * child support and alimony income; 849 IF (TAXUNIT=1 & X7377=2) THEN DO; 850 CHSPALINC=MAX(0,X5718)*(X7392^=2)+MAX(0,X5718)*(X7392=2)*.5; 851 END; 852 ELSE IF (TAXUNIT=2 & X7392=2) THEN DO; 853 CHSPALINC=MAX(0,X5718)*(X7377^=2)+MAX(0,X5718)*(X7377=2)*.5; 854 END; 855 ELSE CHSPALINC=MAX(0,X5718)*.5; 856 * government transfers, split 50/50; 857 AFDCINC=MAX(0,X5720)*.5; 858 * other income, split 50/50 - remove other income that is non-taxable, such as 859 scholarships/grants, inheritances/gifts/, support from family or 860 others, also remove IRA/Keogh income; 861 * special fix for 1992, removing other income coded 14, repayment of 862 debts, it appears the total amount of the debt was reported, not just 863 the interest on the debt; 864 %IF &SYEAR EQ 1992 % THEN %DO; 865 IF X5725=14 THEN DO; 866 X5724=0; 867 END; 868 IF X5727=14 THEN DO; 869 X5726=0; 870 END; 871 %END; 872 OTHINC= (X5724)*(X5725 NOT IN(3 11 12 13 28))*.5+(X5726)*(X5727 NOT IN(3 11 12 13 28))*.5; 873 * social security and pension income, adding in withdrawals from IRA/Keogh/401ks; 874 R_GSSINC=MAX(0,(X5306*%ACONV(X5307)*(X5305>=1))); 875 SP_GSSINC=MAX(0,(X5311*%ACONV(X5312)*(X5310>=1))); 876 T_GSSINC=MAX(0,((X5306*%ACONV(X5307)*(X5305>=1))+(X5311*%ACONV(X5312)*(X5310>=1)))); 877 NOSS_X5722=MAX(0,(X5722-T_GSSINC)); 878 IF (TAXUNIT=1) THEN DO; 879 IF (R_REGPEN > 0) THEN 880 PENINC=NOSS_X5722*(R_REGPEN/(R_REGPEN+SP_REGPEN))+R_WITHDRAW; 881 ELSE IF (R_REGPEN=0 & R_WITHDRAW > 0) THEN PENINC=R_WITHDRAW; 882 ELSE IF (R_REGPEN=0 & R_WITHDRAW=0 & SP_REGPEN > 0) THEN PENINC=0; 883 ELSE IF (R_REGPEN=0 & R_WITHDRAW=0 & SP_REGPEN=0) THEN PENINC=NOSS_X5722*.5; 884 END; 885 ELSE IF (TAXUNIT=2) THEN DO; 886 IF (SP_REGPEN > 0) THEN 887 PENINC=NOSS_X5722*(SP_REGPEN/(R_REGPEN+SP_REGPEN))+SP_WITHDRAW; 888 ELSE IF (SP_REGPEN=0 & SP_WITHDRAW > 0) THEN PENINC=SP_WITHDRAW; 889 ELSE IF (SP_REGPEN=0 & SP_WITHDRAW=0 & R_REGPEN > 0) THEN PENINC=0; 890 ELSE IF (SP_REGPEN=0 & SP_WITHDRAW=0 & R_REGPEN=0) THEN PENINC=NOSS_X5722*.5; 891 END; 17 The SAS System 10:41 Monday, May 31, 2021 892 GSSINC=MAX(0,R_GSSINC)*(TAXUNIT=1)+MAX(0,SP_GSSINC)*(TAXUNIT=2); 893 OTHPINC=RENTINC+INTINC+TBUSINC+CHSPALINC+OTHINC; 894 NONTAX=NTAXINC+AFDCINC; 895 RENT=MAX(0,(X602*%ACONV(X603)),(X612*%ACONV(X613)),(X619*%ACONV(X620)), 896 (X708*%ACONV(X709)))*.5; 897 END; 898 899 ELSE IF TAXUNIT=0 THEN DO; 900 %IF &SYEAR GE 2010 %THEN %DO; 901 R_SOLEPROP=(X4106 IN(2 3 4) | (X3113=1 & X3119=2) | (X3213=1 & X3219=2)); 902 SP_SOLEPROP=(X4706 IN(2 3 4) | (X3114=1 & X3119=2) | (X3214=1 & X3219=2)); 903 %END; 904 %ELSE %IF &SYEAR LE 2007 %THEN %DO; 905 R_SOLEPROP=(X4106 IN(2 3 4) | (X3113=1 & X3119=2) | (X3213=1 906 & X3219=2) | (X3313=1 & X3319=2)); 907 SP_SOLEPROP=(X4706 IN(2 3 4) | (X3114=1 & X3119=2) | 908 (X3214=1 & X3219=2) | (X3313=1 & X3319=2)); 909 %END; 910 * Split wages across primary and secondary earner for married filing jointly households; 911 IF FILESTAT^=2 THEN DO; 912 WSINCOME=MAX(0,X5702); 913 WSINCSP=0; 914 END; 915 ELSE IF FILESTAT=2 THEN DO; 916 IF ((R_LABORINC > 0 & SP_LABORINC=0) 917 | (R_LABORINC=0 & SP_LABORINC > 0) | (R_LABORINC=0 & SP_LABORINC=0)) THEN DO; 918 WSINCOME=MAX(0,X5702); 919 WSINCSP=0; 920 END; 921 ELSE IF (R_LABORINC > 0 & SP_LABORINC > 0) THEN DO; 922 WSINCOME=MAX(0,X5702)*(R_LABORINC/(R_LABORINC+SP_LABORINC)); 923 WSINCSP=MAX(0,X5702)*(SP_LABORINC/(R_LABORINC+SP_LABORINC)); 924 END; 925 END; 926 TBUSINC = X5704; 927 NTAXINC= MAX(0,X5706); 928 INTINC= MAX(0,X5708); 929 DIVINC= MAX(0,X5710); 930 IF X5712=-1 THEN CAPGLINC=0; 931 ELSE CAPGLINC=X5712; 932 RENTINC= X5714; 933 UNEMPINC = MAX(0,X5716); 934 CHSPALINC=MAX(0,X5718); 935 AFDCINC = MAX(0,X5720); 936 * Starting in 2004, IRA/Keogh/401K type income is not reported in 937 other income, instead withdrawals are reported separately during the 938 questions about the assets, so need to add the withdrawals to 939 pension income. There may be a few withdrawals still reported as 940 other income if the asset account was closed or emptied out during the 941 year prior to the survey.; 942 * also remove other income that is non-taxable, such as 943 scholarships/grants, inheritances/gifts/, support from family or 944 others; 945 * special fix for 1992, removing other income coded 14, repayment of 946 debts, it appears the total amount of the debt was report, not just 947 the interest on the debt; 948 %IF &SYEAR EQ 1992 % THEN %DO; 949 IF X5725=14 THEN DO; 18 The SAS System 10:41 Monday, May 31, 2021 950 X5724=0; 951 END; 952 IF X5727=14 THEN DO; 953 X5726=0; 954 END; 955 %END; 956 OTHINC= (X5724)*(X5725 NOT IN(3 11 12 13 28))+(X5726)*(X5727 NOT IN(3 11 12 13 28)); 957 GSSINC=MAX(0,((X5306*%ACONV(X5307)*(X5305>=1))+(X5311*%ACONV(X5312)*(X5310>=1)))); 958 IF GSSINC=0 THEN PENINC= MAX(0,X5722)+R_WITHDRAW+SP_WITHDRAW; 959 ELSE IF (GSSINC > 0) THEN PENINC=MAX(0,(X5722-GSSINC)) 960 +R_WITHDRAW+SP_WITHDRAW; 961 OTHPINC=RENTINC+INTINC+TBUSINC+CHSPALINC+OTHINC; 962 NONTAX=NTAXINC+AFDCINC; 963 RENT=MAX(0,(X602*%ACONV(X603)),(X612*%ACONV(X613)),(X619*%ACONV(X620)), 964 (X708*%ACONV(X709))); 965 END; 966 967 * AGI - note that starting in 2010, AGI questions no longer asked, so 968 using total income minus non-taxable income plus IRA/401k 969 withdrawals as a proxy. No information on adjustments to AGI; 970 AGI=WSINCOME+WSINCSP+TBUSINC+INTINC+DIVINC+CAPGLINC+RENTINC+UNEMPINC+CHSPALINC+OTHINC+PENINC+GSSINC; 971 IF AGI=-1 THEN AGI=0; 972 AGIGE50K=(AGI>=50000); 973 AGICL=1*(AGI < 50000)+2*(50000 <= AGI < 100000)+3*(AGI >= 100000); 974 975 * For allocating itemized deductions - mortgage interest, investment 976 interest expense, property taxes, and charitable contributions - 977 between new tax units, assume tax unit with higher income assigned all 978 itemized deductions. Creating a flag here for use in computing 979 deductions later in the program. Using wages, business, 980 and pension income as income measure (all other income 981 components are split 50/50 between the new tax units).; 982 IF (TAXUNIT IN(1 2)) THEN DO; 983 R_TINCOME=R_LABORINC+R_BUSINC+R_REGPEN+R_WITHDRAW; 984 SP_TINCOME=SP_LABORINC+SP_BUSINC+SP_REGPEN+SP_WITHDRAW; 985 ITEMDEDCT_FLAG=(TAXUNIT=1 & R_TINCOME >= SP_TINCOME) 986 +(TAXUNIT=2 & SP_TINCOME > R_TINCOME); 987 END; 988 ELSE IF TAXUNIT=0 THEN ITEMDEDCT_FLAG=1; 989 990 * Set personal exemption to one for split households, divide kids 991 among split households, if one, give to both tax units, 992 if even number, split evenly between tax units, 993 if odd number, give more to higher income tax unit; 994 IF TAXUNIT IN(1 2) THEN DO; 995 PERSEXP=1; 996 IF KIDS>1 THEN DO; 997 IF (KIDSU13>0 & MOD(KIDSU13,2)=0) THEN KIDSU13=KIDSU13/2; 998 ELSE IF (KIDSU13>0 & MOD(KIDSU13,2)^=0) THEN DO; 999 KIDSU13=(TAXUNIT=1 & R_TINCOME>=SP_TINCOME)*(ROUND(KIDSU13/2,1))+ 1000 (TAXUNIT=1 & R_TINCOME=SP_TINCOME)*((KIDSU13/2)-.5); 1003 END; 1004 IF (KIDSU17>0 & MOD(KIDSU17,2)=0) THEN KIDSU17=KIDSU17/2; 1005 ELSE IF (KIDSU17>0 & MOD(KIDSU17,2)^=0) THEN DO; 1006 KIDSU17=(TAXUNIT=1 & R_TINCOME>=SP_TINCOME)*(ROUND(KIDSU17/2,1))+ 1007 (TAXUNIT=1 & R_TINCOME=SP_TINCOME)*((KIDSU17/2)-.5); 1010 END; 1011 IF (KIDSU18>0 & MOD(KIDSU18,2)=0) THEN KIDSU18=KIDSU18/2; 1012 ELSE IF (KIDSU18>0 & MOD(KIDSU18,2)^=0) THEN DO; 1013 KIDSU18=(TAXUNIT=1 & R_TINCOME>=SP_TINCOME)*(ROUND(KIDSU18/2,1))+ 1014 (TAXUNIT=1 & R_TINCOME=SP_TINCOME)*((KIDSU18/2)-.5); 1017 END; 1018 KIDS=KIDSU13+KIDSU17+KIDSU18; 1019 END; 1020 1021 IF PERSEXP=1 & MARRIED=1 THEN FILESTAT=3; 1022 ELSE IF PERSEXP=1 & KIDS=0 & MARRIED=0 THEN FILESTAT=1; 1023 ELSE IF PERSEXP=1 & KIDS>0 & MARRIED=0 THEN FILESTAT=4; 1024 TOTEXPT=PERSEXP+KIDS; 1025 END; 1026 IF FILESTAT=0 THEN PUT "MISSING FILING STATUS " Y1= X5744= 1027 X5746= TAXUNIT= MARRIED= KIDS= PERSEXP=; 1028 1029 RUN; 1030 1031 * Create tax units based on NPEU members. If there are multiple NPEU 1032 members, need to allocate income, assets, and debt across the 1033 members; 1034 DATA TEMP NPEU; 1035 SET SCF(WHERE=(TAXUNIT IN(0 1) & X7050 >=1)); 1036 1037 TAXUNIT=2; 1038 1039 %IF &SYEAR LE 1992 OR &SYEAR GE 2007 %THEN %DO; 1040 ARRAY NPEUAGE {*} X110 X116 X122 X128 X134 X204 X210 X216 X222 X228; 1041 ARRAY LIVEWITH {*} X112 X118 X124 X130 X136 X206 X212 X218 X224 X230; 1042 ARRAY FINDEP {*} X113 X119 X125 X131 X137 X207 X213 X219 X225 X231; 1043 %END; 1044 %ELSE %IF &SYEAR GE 1995 & &SYEAR LE 2004 %THEN %DO; 1045 ARRAY NPEUAGE {*} X110 X116 X122 X128 X134 X204 X210 X216 X222; 1046 ARRAY LIVEWITH {*} X112 X118 X124 X130 X136 X206 X212 X218 X224; 1047 ARRAY FINDEP {*} X113 X119 X125 X131 X137 X207 X213 X219 X225; 1048 %END; 1049 1050 DO I=1 TO DIM(LIVEWITH); 1051 IF LIVEWITH{I} IN(1 2 3 4) & FINDEP{I} IN(2 3 4 5) THEN DO; 1052 TAXUNIT=TAXUNIT+1; 1053 TUAGE=NPEUAGE{I}; 1054 SPAGE=0; 1055 OUTPUT NPEU; 1056 END; 1057 END; 1058 1059 RUN; 1060 1061 DATA NPEU; 1062 SET NPEU; 1063 1064 ARRAY INCTYPES {*} WSINCOME WSINCSP TBUSINC INTINC NTAXINC DIVINC RENTINC 1065 UNEMPINC AFDCINC GSSINC PENINC OTHINC CAPGLINC; 20 The SAS System 10:41 Monday, May 31, 2021 1066 1067 DO I=1 TO DIM(INCTYPES); 1068 INCTYPES{I}=0; 1069 END; 1070 1071 * Allocate NPEU wage income across all NPEU members less than 70 years 1072 old. If only other type of income is Social Security, allocate 1073 amount across NPEU members age 62 or more. Otherwise, allocate total amount 1074 of nonwage income divided by the number of other types of income to 1075 each type of income equally to each NPEU member; 1076 %IF &SYEAR GE 2007 %THEN %DO; 1077 NUMU70=(0=62 & X113=5)+(X116>=62 & X119=5)+(X122>=62 & X125=5) 1083 +(X128>=62 & X131=5)+(X134>=62 & X137=5)+(X204>=62 & X207=5) 1084 +(X210>=62 & X213=5)+(X216>=62 & X219=5)+(X222>=62 & X225=5) 1085 +(X228>=62 & X231=5); 1086 %END; 1087 %ELSE %DO; 1088 NUMU70=(0=62 & X113=5)+(X116>=62 & X119=5)+(X122>=62 & X125=5) 1093 +(X128>=62 & X131=5)+(X134>=62 & X137=5)+(X204>=62 & X207=5) 1094 +(X210>=62 & X213=5)+(X216>=62 & X219=5)+(X222>=62 & X225=5); 1095 %END; 1096 NUMINCTYPES=(X6406=1)+(X6407=1)+(X6408=1)+(X6409=1)+(X6410=1)+(X6411=1) 1097 +(X6412=1)+(X6413=1)+(X6414 > 5); 1098 IF (NUMU70 > 0) THEN WSINCOME=(MAX(0,X6403)/NUMU70)*(TUAGE < 70); 1099 ELSE WSINCOME=(MAX(0,X6403)/X7050); 1100 IF (X6415 > 0 & NUMINCTYPES > 0) THEN DO; 1101 IF (NUMGE62 > 0) THEN GSSINC=(X6406=1)*((MAX(0,X6415)/(NUMINCTYPES))/NUMGE62)*(TUAGE>=62); 1102 ELSE GSSINC=(X6406=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1103 TBUSINC=(X6412=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1104 INTINC=(X6410=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1105 DIVINC=(X6411=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1106 RENTINC=(X6413=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1107 PENINC=(X6407=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050) 1108 +(X6408=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1109 AFDCINC=(X6409=1)*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1110 CAPGLINC=(X6414 IN(13))*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1111 UNEMPINC=(X6414 IN(10))*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1112 OTHINC=(X6414 IN(11 12 15))*((MAX(0,X6415)/(NUMINCTYPES))/X7050); 1113 END; 1114 OTHPINC=RENTINC+INTINC+TBUSINC+CHSPALINC+OTHINC; 1115 NONTAX=NTAXINC+AFDCINC; 1116 1117 * All NPEU tax units take the standard deduction, have one personal 1118 exemption, and have filing status of single; 1119 ITEMDEDCT_FLAG=0; 1120 PERSEXP=1; 1121 TOTEXPT=1; 1122 KIDS=0; 1123 KIDSU13=0; 21 The SAS System 10:41 Monday, May 31, 2021 1124 KIDSU17=0; 1125 KIDSU18=0; 1126 FILESTAT=1; 1127 1128 AGI=WSINCOME+WSINCSP+TBUSINC+INTINC+DIVINC+CAPGLINC+RENTINC+UNEMPINC+CHSPALINC+OTHINC+PENINC+GSSINC; 1129 IF AGI=-1 THEN AGI=0; 1130 AGIGE50K=(AGI>=50000); 1131 AGICL=1*(AGI < 50000)+2*(50000 <= AGI < 100000)+3*(AGI >= 100000); 1132 RUN; 1133 1134 PROC FREQ DATA=NPEU; 1135 TABLES FILESTAT; 1136 TABLES TAXUNIT*X7050; 1137 RUN; 1138 1139 PROC FREQ DATA=NPEU; 1140 WEIGHT WGT; 1141 TABLES FILESTAT; 1142 RUN; 1143 1144 PROC MEANS DATA=NPEU N MEDIAN MEAN SUM; 1145 WEIGHT WGT; 1146 VAR WSINCOME WSINCSP TBUSINC NTAXINC INTINC DIVINC CAPGLINC RENTINC 1147 UNEMPINC CHSPALINC AFDCINC OTHINC GSSINC PENINC AGI; 1148 RUN; 1149 1150 1151 * Add NPEU tax units; 1152 DATA SCF; 1153 SET SCF NPEU; 1154 RUN; 1155 1156 PROC MEANS DATA=SCF N MEAN MEDIAN SUM; 1157 WEIGHT WGT; 1158 VAR WSINCOME WSINCSP TBUSINC NTAXINC INTINC DIVINC CAPGLINC RENTINC 1159 UNEMPINC CHSPALINC AFDCINC OTHINC GSSINC PENINC AGI; 1160 RUN; 1161 1162 1163 PROC FREQ DATA=SCF; 1164 TABLES FILESTAT*(TAXUNIT MARRIED X5746); 1165 TABLES TAXUNIT*ITEMDEDCT_FLAG; 1166 RUN; 1167 1168 PROC FREQ DATA=SCF; 1169 WEIGHT WGT; 1170 TABLES FILESTAT*(TAXUNIT MARRIED X5746); 1171 TABLES TAXUNIT*ITEMDEDCT_FLAG; 1172 RUN; 1173 1174 DATA SCF; 1175 SET SCF; 1176 1177 ************Itemized deductions; 1178 1179 IF ITEMDEDCT_FLAG=1 THEN DO; 1180 1181 ************Mortgage interest deduction; 22 The SAS System 10:41 Monday, May 31, 2021 1182 * Convert real estate taxes on primary residence into a yearly amount; 1183 RESTAXM1=0; 1184 IF (X721 > 0) THEN DO; 1185 RESTAXM1=X721*%ACONV(X722); 1186 END; 1187 1188 1189 * Create arrays for various mortgage loan components; 1190 ARRAY TLMTH {*} TLMTHM1 TLMTHM2 TLMTHM3; 1191 ARRAY CMOPAY {*} CMOPAYM1 CMOPAYM2 CMOPAYM3; 1192 ARRAY PAYLFT {*} PAYLFTM1 PAYLFTM2 PAYLFTM3; 1193 ARRAY AMTOWE {*} AMTOWEM1 AMTOWEM2 AMTOWEM3; 1194 ARRAY AMTOWE_1 {*} AMTOWE_1M1 AMTOWE_1M2 AMTOWE_1M3; 1195 ARRAY AINTDCT {*} AINTDCTM1 AINTDCTM2 AINTDCTM3; 1196 ARRAY LNAGE {*} LNAGEM1 LNAGEM2 LNAGEM3; 1197 ARRAY CURBAL {*} CURBALM1 CURBALM2 CURBALM3; 1198 ARRAY CURBAL_1 {*} CURBAL_1M1 CURBAL_1M2 CURBAL_1M3; 1199 ARRAY CINTDCT {*} CINTDCTM1 CINTDCTM2 CINTDCTM3; 1200 ARRAY DCTDIFF {*} DCTDIFFM1 DCTDIFFM2 DCTDIFFM3; 1201 ARRAY SINTDCT {*} SINTDCTM1 SINTDCTM2 SINTDCTM3; 1202 ARRAY AVINTDCT {*} AVINTDCTM1 AVINTDCTM2 AVINTDCTM3; 1203 ARRAY NMPMT {*} X807 X907 X1007; 1204 ARRAY NMYR {*} X806 X906 X1006; 1205 ARRAY REGPAYF {*} X809 X909 X1009; 1206 ARRAY REGPAY {*} X808 X908 X1008; 1207 ARRAY TYPAYF {*} X814 X914 X1014; 1208 ARRAY TYPAY {*} X813 X913 X1013; 1209 ARRAY LNSTMN {*} X801 X901 X1001; 1210 ARRAY LNSTYR {*} X802 X902 X1002; 1211 ARRAY HBALLN {*} X811 X911 X1011; 1212 ARRAY BALLN {*} X812 X912 X1012; 1213 ARRAY HAVELN {*} X723 X830 X931; 1214 ARRAY AMTBORR {*} X804 X904 X1004; 1215 ARRAY JAMTBORR {*} J804 J904 J1004; 1216 ARRAY AMTOUT {*} X805 X905 X1005; 1217 ARRAY JAMTOUT {*} J805 J905 J1005; 1218 ARRAY INTRATE {*} X816 X916 X1016; 1219 ARRAY ONSCHED {*} X7571 X7570 X7569; 1220 1221 * Initialize some variables; 1222 DO I=1 TO DIM(TLMTH); 1223 TLMTH{I}=0; 1224 CMOPAY{I}=0; 1225 PAYLFT{I}=0; 1226 AMTOWE{I}=0; 1227 AMTOWE_1{I}=0; 1228 AINTDCT{I}=0; 1229 LNAGE{I}=0; 1230 CURBAL{I}=0; 1231 CURBAL_1{I}=0; 1232 CINTDCT{I}=0; 1233 DCTDIFF{I}=0; 1234 SINTDCT{I}=0; 1235 AVINTDCT{I}=0; 1236 END; 1237 1238 NUMORT=(X723=1)+(X830=1)+(X931=1); 1239 TOTAMTOUTM=0; 23 The SAS System 10:41 Monday, May 31, 2021 1240 TOTDEDCTM=0; 1241 GRFAMTOUTM=0; 1242 A17AMTOUTM=0; 1243 HAAMTOUTM=0; 1244 1245 DO I=1 TO DIM(NMPMT); 1246 1247 %TERMCON(NPMT=NMPMT{I},NYR=NMYR{I},NMO=TLMTH{I},PFREQ=REGPAYF{I},PMT=REGPAY{I}, 1248 TPER=TYPAYF{I}); 1249 IF (REGPAY{I} > 0) THEN DO; 1250 %MOCONV(AMT=REGPAY{I},MOAMT=CMOPAY{I},PER=REGPAYF{I},IML=NO,YEAR8=YES); 1251 END; 1252 ELSE DO; 1253 %MOCONV(AMT=TYPAY{I},MOAMT=CMOPAY{I},PER=TYPAYF{I},IML=NO,YEAR8=YES); 1254 END; 1255 IF NMYR{I} NOT IN (0 -1 -7) THEN DO; 1256 PAYLFT{I}=(TLMTH{I}-((&SYEAR-LNSTYR{I})*12)); 1257 LNAGE{I}=TLMTH{I}-PAYLFT{I}; 1258 END; 1259 ELSE DO; 1260 PAYLFT{I}=0; 1261 LNAGE{I}=0; 1262 END; 1263 END; 1264 1265 * Need to adjust monthly payments when taxes and/or insurance is 1266 included. If there is no balloon payment, and if the mort function 1267 value is less than the reported monthly payment amount then use mort 1268 function value as monthly payment. If there is no balloon and the 1269 mort function value is greater than the reported monthly amount, use 1270 the reported monthly amount. If there is a balloon and the amount 1271 borrowed is greater than the balloon, subtract the amount of the 1272 balloon and use this adjusted amount borrowed to figure the mort 1273 function value. If there is a balloon and the amount borrowed is less than 1274 the balloon, leave the amount borrowed as is. If the amount borrowed 1275 is equal to the balloon, then the mort function value is assumed to 1276 be just the amount borrowed times the interest rate. Once we have 1277 the mort value function compare it to the reported amount using the 1278 same rules as in the no balloon case. Only need to check this for first mortgage.; 1279 IF ((X723=1) & (X810 IN(1 2 3)) & TLMTHM1 > 0 & X816 > 1280 0) THEN DO; 1281 IF (X811=1) THEN DO; 1282 %MORTPAY(AMTB=X804,MPAY=AMOPAYM1,IR=X816,TERM=TLMTHM1); 1283 IF (CMOPAYM1 > AMOPAYM1) THEN CMOPAYM1=AMOPAYM1; 1284 ELSE IF (CMOPAYM1 <= AMOPAYM1) & Y1=YY1*10+1 THEN PUT 1285 "ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT " 1286 Y1= X804= CMOPAYM1= AMOPAYM1= X816= X810= X721= X722= RESTAXM1= 1287 TLMTHM1= X811= X812= /; 1288 END; 1289 ELSE IF (X811=2) THEN DO; 1290 IF (X804 > X812) THEN ADJBORR=X804-X812; 1291 ELSE IF (X804 < X812) THEN ADJBORR=X804; 1292 IF ADJBORR > 0 THEN %MORTPAY(AMTB=ADJBORR,MPAY=AMOPAYM1,IR=X816,TERM=TLMTHM1); 1293 IF (X804=X812) THEN AMOPAYM1=((X804)*(X816/10000))/12; 1294 IF (CMOPAYM1 > AMOPAYM1) THEN CMOPAYM1=AMOPAYM1; 1295 ELSE IF (CMOPAYM1 <= AMOPAYM1) & Y1=YY1*10+1 THEN PUT 1296 "ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT " 1297 Y1= X804= CMOPAYM1= AMOPAYM1= X816= X810= X721= X722= RESTAXM1= 24 The SAS System 10:41 Monday, May 31, 2021 1298 TLMTHM1= X811= X812= /; 1299 END; 1300 END; 1301 1302 * First check for balloon payment, and if balloon is equal to amount 1303 borrowed, use amount borrowed times the interest rate as interest 1304 deduction, as long as this amount is not more than the annualized 1305 payment amount. If the balloon is not equal to amount borrowed or 1306 the annual payment criteria is not met, compute with non-balloon 1307 payment loans. If the term of the loan is coded -1 or -7 and there 1308 is a positive outstanding balance and interest rate, use that to 1309 compute the interest deduction. If the interest rate is equal to -1, 1310 then set interest deduction to zero.; 1311 * Computing the balance outstanding two ways, one starting from the 1312 begining of the loan (CURBAL) and one starting from what is left to 1313 be paid (AMTOWE); 1314 * NOT INCLUDING LAND CONTRACTS; 1315 DO I=1 TO DIM(HAVELN); 1316 IF (HAVELN{I}=1 & HBALLN{I}=2 & NMYR{I} NOT IN(0 -1 -7) & INTRATE{I}^=-1 & 1317 AMTBORR{I}=BALLN{I} & (CMOPAY{I}*12 <= AMTBORR{I}*(INTRATE{I}/10000))) THEN DO; 1318 SINTDCT{I}=CMOPAY{I}*12; 1319 AINTDCT{I}=SINTDCT{I}; 1320 CINTDCT{I}=SINTDCT{I}; 1321 END; 1322 ELSE IF (HAVELN{I}=1 & HBALLN{I} IN(1 2) & NMYR{I} NOT IN(0 -1 -7) 1323 & INTRATE{I}^=-1) THEN DO; 1324 IF (TLMTH{I} > 0 & CMOPAY{I} > 0 & PAYLFT{I} > 0) THEN DO; 1325 * a fix for payments reported as yearly that appear to be monthly; 1326 * IF (CMOPAY{I} < AMTBORR{I}*.005) THEN CMOPAY{I}=MAX(REGPAY{I},TYPAY{I}); 1327 AMTOWE{I}=CMOPAY{I}*((1-1/(1+(INTRATE{I}/10000)/12)**PAYLFT{I})/ 1328 ((INTRATE{I}/10000)/12)) 1329 +(HBALLN{I}=2)*(BALLN{I}/((1+(INTRATE{I}/10000))**PAYLFT{I})); 1330 AMTOWE_1{I}=CMOPAY{I}*((1-1/(1+(INTRATE{I}/10000)/12)**(PAYLFT{I}+12))/ 1331 ((INTRATE{I}/10000)/12)) 1332 +(HBALLN{I}=2)*(BALLN{I}/((1+(INTRATE{I}/10000))**(PAYLFT{I}+12))); 1333 IF LNSTYR{I}^=&SYEAR THEN AINTDCT{I}=(CMOPAY{I}*12)-(AMTOWE_1{I}-AMTOWE{I}); 1334 ELSE IF LNSTYR{I}=&SYEAR THEN AINTDCT{I}=AMTOUT{I}*(INTRATE{I}/10000); 1335 END; 1336 ELSE IF (TLMTH{I} < 0 | CMOPAY{I} < 0 | PAYLFT{I} < 0) THEN DO; 1337 AMTOWE{I}=0; 1338 AMTOWE_1{I}=0; 1339 AINTDCT{I}=0; 1340 END; 1341 IF (TLMTH{I} > 0 & AMTBORR{I} > 0 & LNAGE{I} > 0) THEN DO; 1342 CURBAL{I}=AMTBORR{I}*(((1+(INTRATE{I}/10000)/12)**TLMTH{I})- 1343 ((1+(INTRATE{I}/10000)/12)**(LNAGE{I})))/ 1344 (((1+(INTRATE{I}/10000)/12)**TLMTH{I})-1); 1345 CURBAL_1{I}=AMTBORR{I}*(((1+(INTRATE{I}/10000)/12)**TLMTH{I})- 1346 ((1+(INTRATE{I}/10000)/12)**(LNAGE{I}-12)))/ 1347 (((1+(INTRATE{I}/10000)/12)**TLMTH{I})-1); 1348 CINTDCT{I}=(CMOPAY{I}*12)-(CURBAL_1{I}-CURBAL{I}); 1349 END; 1350 ELSE IF (TLMTH{I} < 0 | AMTBORR{I} < 0 | LNAGE{I} < 0) THEN DO; 1351 CURBAL{I}=0; 1352 CURBAL_1{I}=0; 1353 CINTDCT{I}=0; 1354 END; 1355 IF (AMTOUT{I} > 0 & INTRATE{I} > 0) THEN SINTDCT{I}=AMTOUT{I}*(INTRATE{I}/10000); 25 The SAS System 10:41 Monday, May 31, 2021 1356 ELSE SINTDCT{I}=0; 1357 1358 * Also fixing cases where mortgage ends or starts in the survey year. 1359 Setting interest deduction to amount outstanding for year prior 1360 to the survey times the interest rate for mortgages ending in the 1361 survey year. For cases where mortgage starts in the survey year, 1362 just use amount borrowed times the interest rate if the home was 1363 not purchased in the survey year. If the home was purchased in 1364 the survey year, set deduction to zero.; 1365 IF (TLMTH{I} > 0 & CMOPAY{I} > 0 & PAYLFT{I}=0) THEN DO; 1366 CINTDCT{I}=CURBAL_1{I}*(INTRATE{I}/10000); 1367 AINTDCT{I}=CINTDCT{I}; 1368 END; 1369 IF (TLMTH{I} > 0 & CMOPAY{I} > 0 & LNSTYR{I}=&SYEAR & X720=&SYEAR) THEN DO; 1370 CINTDCT{I}=0; 1371 AINTDCT{I}=0; 1372 SINTDCT{I}=0; 1373 END; 1374 ELSE IF (TLMTH{I} > 0 & CMOPAY{I} > 0 & LNSTYR{I}=&SYEAR) THEN DO; 1375 CINTDCT{I}=SINTDCT{I}; 1376 AINTDCT{I}=SINTDCT{I}; 1377 END; 1378 1379 * Ad hoc fix for negative interest deductions. Basically sets the 1380 interest deduction equal to curball1_1 times the interest rate if 1381 curball1 and curball1_1 are positive, otherwise the interest 1382 deduction equals the reported amount outstanding times the interest 1383 rate.; 1384 IF ((AINTDCT{I} < 0 | CINTDCT{I} < 0) & CURBAL{I} > 0 & CURBAL_1{I} > 0) THEN DO; 1385 CINTDCT{I}=CURBAL_1{I}*(INTRATE{I}/10000); 1386 AINTDCT{I}=CINTDCT{I}; 1387 END; 1388 ELSE IF ((AINTDCT{I} < 0 | CINTDCT{I} < 0) & (CURBAL{I} <= 0 & 1389 CURBAL_1{I} <= 0)) THEN DO; 1390 CINTDCT{I}=SINTDCT{I}; 1391 AINTDCT{I}=SINTDCT{I}; 1392 END; 1393 1394 IF (SINTDCT{I} > 0 & CINTDCT{I} > 0) THEN 1395 DCTDIFF{I}=CINTDCT{I}-SINTDCT{I}; 1396 ELSE DCTDIFF{I}=0; 1397 1398 END; 1399 ELSE IF (HAVELN{I}=1 & (NMYR{I} IN(-1 -7) | NMPMT{I} IN(-1 -7)) 1400 & AMTOUT{I} > 0 & INTRATE{I} > 0) THEN DO; 1401 SINTDCT{I}=AMTOUT{I}*(INTRATE{I}/10000); 1402 AINTDCT{I}=SINTDCT{I}; 1403 CINTDCT{I}=SINTDCT{I}; 1404 END; 1405 ELSE IF (HAVELN{I}=1 & (INTRATE{I}=-1)) THEN DO; 1406 AINTDCT{I}=0; 1407 CINTDCT{I}=0; 1408 SINTDCT{I}=0; 1409 END; 1410 1411 * Averaging across the three measures of interest deduction; 1412 IF ((CINTDCT{I} + AINTDCT{I} + SINTDCT{I}) > 0) THEN DO; 1413 AVINTDCT{I}=(CINTDCT{I}+AINTDCT{I}+SINTDCT{I})/3; 26 The SAS System 10:41 Monday, May 31, 2021 1414 END; 1415 ELSE AVINTDCT{I}=0; 1416 1417 * Constraining interest deduction amount to be no more than the reported year 1418 mortgage payment - using avintdct for comparison. Also putting in 1419 a fix for cases were the interest deduction is more than 25 1420 percent of the current amount outstanding. If this is the case 1421 then the use the simple interest deduction.; 1422 IF (HAVELN{I}=1 & AVINTDCT{I} > 0 & CMOPAY{I} > 0 1423 & (AVINTDCT{I} > CMOPAY{I}*12)) THEN DO; 1424 AVINTDCT{I}=CMOPAY{I}*12; 1425 CINTDCT{I}=AVINTDCT{I}; 1426 AINTDCT{I}=AVINTDCT{I}; 1427 SINTDCT{I}=AVINTDCT{I}; 1428 END; 1429 IF (HAVELN{I}=1 & AVINTDCT{I} > 0 & AMTOUT{I} > 0 & 1430 (AVINTDCT{I} > .25*AMTOUT{I})) THEN DO; 1431 AVINTDCT{I}=AMTOUT{I}*(INTRATE{I}/10000); 1432 CINTDCT{I}=AVINTDCT{I}; 1433 AINTDCT{I}=AVINTDCT{I}; 1434 END; 1435 1436 IF (HAVELN{I}=1 & Y1=YY1*10+1 & AVINTDCT{I}=0 & NMYR{I}^=&SYEAR) 1437 THEN PUT "HAS MORTGAGE, BUT NO INTEREST DEDUCTION " 1438 Y1= HAVELN{I}= NMPMT{I}= NMYR{I}= TLMTH{I}= 1439 REGPAYF{I}= REGPAY{I}= CMOPAY{I}= TYPAY{I}= TYPAYF{I}= LNSTYR{I}= 1440 PAYLFT{I}= LNAGE{I}= AMTOUT{I}= JAMTOUT{I}= AMTOWE{I}= AMTOWE_1{I}= 1441 AINTDCT{I}= CURBAL{I}= CURBAL_1{I}= CINTDCT{I}= AVINTDCT{I}= DCTDIFF{I}= SINTDCT{I}= 1442 INTRATE{I}= AMTBORR{I}= JAMTBORR{I}= ONSCHED{I}= HBALLN{I}= BALLN{I}= /; 1443 1444 1445 * Dealing with multiple unit homes/buildings here. If R reports info 1446 on the whole building, then divide mortgage interest deduction by 1447 the number of units in the building; 1448 IF (X702=1 & X714=1 & X7135=5) THEN DO; 1449 TOTDEDCTM=TOTDEDCTM+(AVINTDCT{I}/X715)*(HAVELN{I}=1); 1450 END; 1451 ELSE TOTDEDCTM=TOTDEDCTM+AVINTDCT{I}; 1452 1453 * Total amount outstanding on loans; 1454 TOTAMTOUTM=TOTAMTOUTM+AMTOUT{I}; 1455 1456 * Need to divide mortgages up by date, pre 10/13/87 mortgages are 1457 considered grandfathered debt by IRS, and different limits apply 1458 to mortgages taken out after 12/15/2017; 1459 IF ((LNSTYR{I}=1987 & LNSTMN{I} < 10) | (LNSTYR{I} < 1987)) THEN DO; 1460 GRFAMTOUTM=GRFAMTOUTM+AMTOUT{I}; 1461 END; 1462 ELSE IF ((LNSTYR{I}=2017 & LNSTMN{I}=12) | (LNSTYR{I} > 2017)) THEN DO; 1463 A17AMTOUTM=A17AMTOUTM+AMTOUT{I}; 1464 END; 1465 ELSE IF ((LNSTYR{I}=1987 & LNSTMN {I} >= 10) | (1987 < LNSTYR{I} < 2017) | 1466 (LNSTYR{I}=2017 & LNSTMN{I}<=11)) THEN 1467 DO; 1468 HAAMTOUTM=HAAMTOUTM+AMTOUT{I}; 1469 END; 1470 END; 1471 27 The SAS System 10:41 Monday, May 31, 2021 1472 * Need to check the LOC grid for HELOCs and determine is the interest 1473 is deductible. Will need to assign HELOCs with use code of 1, 3, or 4 1474 as home acquisition debt (same as a mortgage, counts toward mortgage 1475 balance limit), while HELOCs with other use codes counted as home 1476 equity debt. Ignoring the mopup as we dont know if that LOC is 1477 secured by a home; 1478 ARRAY CMOPAYL {*} CMOPAYL1 CMOPAYL2 CMOPAYL3; 1479 ARRAY SINTDCTL {*} SINTDCTL1 SINTDCTL2 SINTDCTL3; 1480 ARRAY AQDBT {*} AQDBTL1 AQDBTL2 AQDBTL3; 1481 ARRAY AQINT {*} AQINTL1 AQINTL2 AQINTL3; 1482 ARRAY EQDBT {*} EQDBTL1 EQDBTL2 EQDBTL3; 1483 ARRAY SBYHOME {*} X1103 X1114 X1125; 1484 ARRAY DOOWE {*} X1105 X1116 X1127; 1485 ARRAY LNPURP {*} X1106 X1117 X1128; 1486 ARRAY AMTOUTL {*} X1108 X1119 X1130; 1487 ARRAY TYPAYL {*} X1109 X1120 X1131; 1488 ARRAY TYPAYLF {*} X1110 X1121 X1132; 1489 ARRAY INTRATEL {*} X1111 X1122 X1133; 1490 1491 1492 * Initialize some variables; 1493 TOTAQDBTL=0; 1494 TOTEQDBTL=0; 1495 TOTDEDCTL=0; 1496 TOTAQDEDCTL=0; 1497 TOTLOCINVEX=0; 1498 DO I=1 TO DIM(CMOPAYL); 1499 CMOPAYL{I}=0; 1500 SINTDCTL{I}=0; 1501 AQDBT{I}=0; 1502 AQINT{I}=0; 1503 EQDBT{I}=0; 1504 END; 1505 1506 IF (X1101=1) THEN DO; 1507 DO I=1 TO DIM(SBYHOME); 1508 IF (SBYHOME{I}=1 & DOOWE{I}=1) THEN DO; 1509 IF (TYPAYL{I} > 0) THEN DO; 1510 %MOCONV(AMT=TYPAYL{I},MOAMT=CMOPAYL{I},PER=TYPAYLF{I},IML=NO,YEAR8=YES); 1511 END; 1512 ELSE IF (TYPAYL{I} IN(0 -1 -2)) THEN DO; 1513 CMOPAYL{I}=0; 1514 END; 1515 IF (INTRATEL{I} > 0) THEN DO; 1516 SINTDCTL{I}=((INTRATEL{I}/10000)*AMTOUTL{I}); 1517 END; 1518 ELSE IF (INTRATEL{I} IN(0 -1)) THEN DO; 1519 SINTDCTL{I}=0; 1520 END; 1521 IF (SINTDCTL{I} > 0 & CMOPAYL{I} > 0 & SINTDCTL{I} > CMOPAYL{I}*12) THEN DO; 1522 SINTDCTL{I}=CMOPAYL{I}*12; 1523 END; 1524 IF (LNPURP{I} IN(1 3 4)) THEN DO; 1525 AQDBT{I}=AMTOUTL{I}; 1526 AQINT{I}=SINTDCTL{I}; 1527 END; 1528 ELSE IF (LNPURP{I} NOT IN(1 3 4)) THEN DO; 1529 EQDBT{I}=AMTOUTL{I}; 28 The SAS System 10:41 Monday, May 31, 2021 1530 END; 1531 TOTDEDCTL=TOTDEDCTL+SINTDCTL{I}; 1532 TOTAQDEDCTL=TOTAQDEDCTL+AQINT{I}; 1533 TOTAQDBTL=TOTAQDBTL+AQDBT{I}; 1534 TOTEQDBTL=TOTEQDBTL+EQDBT{I}; 1535 END; 1536 END; 1537 END; 1538 1539 * Using code similar to that used in mortgage grid, but also need to 1540 know what type of property and if there is income from the property.; 1541 * Dropped third column of grid for 2010 forward; 1542 * Create arrays for various other property loan components; 1543 %IF &SYEAR GE 2010 %THEN %DO; 1544 ARRAY TLMTHO {*} TLMTHO1 TLMTHO2; 1545 ARRAY CMOPAYO {*} CMOPAYO1 CMOPAYO2; 1546 ARRAY AMOPAYO {*} AMOPAYO1 AMOPAYO2; 1547 ARRAY PAYLFTO {*} PAYLFTO1 PAYLFTO2; 1548 ARRAY AMTOWEO {*} AMTOWEO1 AMTOWEO2; 1549 ARRAY AMTOWE_1O {*} AMTOWE_1O1 AMTOWE_1O2; 1550 ARRAY AINTDCTO {*} AINTDCTO1 AINTDCTO2; 1551 ARRAY LNAGEO {*} LNAGEO1 LNAGEO2; 1552 ARRAY CURBALO {*} CURBALO1 CURBALO2; 1553 ARRAY CURBAL_1O {*} CURBAL_1O1 CURBAL_1O2; 1554 ARRAY CINTDCTO {*} CINTDCTO1 CINTDCTO2; 1555 ARRAY DCTDIFFO {*} DCTDIFFO1 DCTDIFFO2; 1556 ARRAY SINTDCTO {*} SINTDCTO1 SINTDCTO2; 1557 ARRAY AVINTDCTO {*} AVINTDCTO1 AVINTDCTO2; 1558 ARRAY QUALPROP {*} QPROP1 QPROP2; 1559 ARRAY QUALPINV {*} QPINV1 QPINV2; 1560 ARRAY ADJBORRO {*} ADJBORRO1 ADJBORRO2; 1561 ARRAY NMPMTO {*} X1717 X1817; 1562 ARRAY NMYRO {*} X1716 X1816; 1563 ARRAY REGPAYFO {*} X1719 X1819; 1564 ARRAY REGPAYO {*} X1718 X1818; 1565 ARRAY TYPAYFO {*} X1724 X1824; 1566 ARRAY TYPAYO {*} X1723 X1823; 1567 ARRAY LNSTMNO {*} X1712 X1812; 1568 ARRAY LNSTYRO {*} X1713 X1813; 1569 ARRAY HBALLNO {*} X1721 X1821; 1570 ARRAY BALLNO {*} X1722 X1822; 1571 ARRAY AMTBORRO {*} X1714 X1814; 1572 ARRAY JAMTBORRO {*} J1714 J1814; 1573 ARRAY AMTOUTO {*} X1715 X1815; 1574 ARRAY JAMTOUTO {*} J1715 J1815; 1575 ARRAY HAVELNO {*} X1711 X1811; 1576 ARRAY INTRATEO {*} X1726 X1826; 1577 ARRAY ONSCHEDO {*} X7554 X7553; 1578 ARRAY HINCOMEO {*} X1729 X1829; 1579 ARRAY INCOMEO {*} X1730 X1830; 1580 ARRAY PROPTYPE {*} X1703 X1803; 1581 ARRAY PERPROP {*} X1705 X1805; 1582 ARRAY PROPVAL {*} X1706 X1806; 1583 ARRAY TAXINS {*} X1720 X1820; 1584 ARRAY PURCHYRO {*} X1708 X1808; 1585 ARRAY LIMFLAG {*} LIMFL1 LIMFL2; 1586 %END; 1587 %ELSE %IF &SYEAR LE 2007 %THEN %DO; 29 The SAS System 10:41 Monday, May 31, 2021 1588 ARRAY TLMTHO {*} TLMTHO1 TLMTHO2 TLMTHO3; 1589 ARRAY CMOPAYO {*} CMOPAYO1 CMOPAYO2 CMOPAYO3; 1590 ARRAY AMOPAYO {*} AMOPAYO1 AMOPAYO2 AMOPAYO3; 1591 ARRAY PAYLFTO {*} PAYLFTO1 PAYLFTO2 PAYLFTO3; 1592 ARRAY AMTOWEO {*} AMTOWEO1 AMTOWEO2 AMTOWEO3; 1593 ARRAY AMTOWE_1O {*} AMTOWE_1O1 AMTOWE_1O2 AMTOWE_1O3; 1594 ARRAY AINTDCTO {*} AINTDCTO1 AINTDCTO2 AINTDCTO3; 1595 ARRAY LNAGEO {*} LNAGEO1 LNAGEO2 LNAGEO3; 1596 ARRAY CURBALO {*} CURBALO1 CURBALO2 CURBALO3; 1597 ARRAY CURBAL_1O {*} CURBAL_1O1 CURBAL_1O2 CURBAL_1O3; 1598 ARRAY CINTDCTO {*} CINTDCTO1 CINTDCTO2 CINTDCTO3; 1599 ARRAY DCTDIFFO {*} DCTDIFFO1 DCTDIFFO2 DCTDIFFO3; 1600 ARRAY SINTDCTO {*} SINTDCTO1 SINTDCTO2 SINTDCTO3; 1601 ARRAY AVINTDCTO {*} AVINTDCTO1 AVINTDCTO2 AVINTDCTO3; 1602 ARRAY QUALPROP {*} QPROP1 QPROP2 QPROP3; 1603 ARRAY QUALPINV {*} QPINV1 QPINV2 QPINV3; 1604 ARRAY ADJBORRO {*} ADJBORRO1 ADJBORRO2 ADJBORRO3; 1605 ARRAY NMPMTO {*} X1717 X1817 X1917; 1606 ARRAY NMYRO {*} X1716 X1816 X1916; 1607 ARRAY REGPAYFO {*} X1719 X1819 X1919; 1608 ARRAY REGPAYO {*} X1718 X1818 X1918; 1609 ARRAY TYPAYFO {*} X1724 X1824 X1924; 1610 ARRAY TYPAYO {*} X1723 X1823 X1923; 1611 ARRAY LNSTMNO {*} X1712 X1812 X1912; 1612 ARRAY LNSTYRO {*} X1713 X1813 X1913; 1613 ARRAY HBALLNO {*} X1721 X1821 X1921; 1614 ARRAY BALLNO {*} X1722 X1822 X1922; 1615 ARRAY AMTBORRO {*} X1714 X1814 X1914; 1616 ARRAY JAMTBORRO {*} J1714 J1814 J1914; 1617 ARRAY AMTOUTO {*} X1715 X1815 X1915; 1618 ARRAY JAMTOUTO {*} J1715 J1815 J1915; 1619 ARRAY HAVELNO {*} X1711 X1811 X1911; 1620 ARRAY INTRATEO {*} X1726 X1826 X1926; 1621 ARRAY ONSCHEDO {*} X7554 X7553 X7552; 1622 ARRAY HINCOMEO {*} X1729 X1829 X1929; 1623 ARRAY INCOMEO {*} X1730 X1830 X1930; 1624 ARRAY PROPTYPE {*} X1703 X1803 X1903; 1625 ARRAY PERPROP {*} X1705 X1805 X1905; 1626 ARRAY PROPVAL {*} X1706 X1806 X1906; 1627 ARRAY TAXINS {*} X1720 X1820 X1920; 1628 ARRAY PURCHYRO {*} X1708 X1808 X1908; 1629 ARRAY LIMFLAG {*} LIMFL1 LIMFL2 LIMFL3; 1630 %END; 1631 * Initialize some variables; 1632 DO I=1 TO DIM(TLMTHO); 1633 TLMTHO{I}=0; 1634 CMOPAYO{I}=0; 1635 PAYLFTO{I}=0; 1636 AMTOWEO{I}=0; 1637 AMTOWE_1O{I}=0; 1638 AINTDCTO{I}=0; 1639 LNAGEO{I}=0; 1640 CURBALO{I}=0; 1641 CURBAL_1O{I}=0; 1642 CINTDCTO{I}=0; 1643 DCTDIFFO{I}=0; 1644 SINTDCTO{I}=0; 1645 AVINTDCTO{I}=0; 30 The SAS System 10:41 Monday, May 31, 2021 1646 QUALPROP{I}=0; 1647 QUALPINV{I}=0; 1648 ADJBORRO{I}=0; 1649 LIMFLAG{I}=0; 1650 END; 1651 1652 TOTAMTOUTO=0; 1653 TOTDEDCTO=0; 1654 QUALOTHPROP=0; 1655 QUALINVPROP=0; 1656 TOTINVPDCT=0; 1657 FMVOP=0; 1658 1659 1660 DO I=1 TO DIM(NMPMTO); 1661 1662 %TERMCON(NPMT=NMPMTO{I},NYR=NMYRO{I},NMO=TLMTHO{I},PFREQ=REGPAYFO{I},PMT=REGPAYO{I}, 1663 TPER=TYPAYFO{I}); 1664 IF (REGPAYO{I} > 0) THEN DO; 1665 %MOCONV(AMT=REGPAYO{I},MOAMT=CMOPAYO{I},PER=REGPAYFO{I},IML=NO,YEAR8=YES); 1666 END; 1667 ELSE DO; 1668 %MOCONV(AMT=TYPAYO{I},MOAMT=CMOPAYO{I},PER=TYPAYFO{I},IML=NO,YEAR8=YES); 1669 END; 1670 IF NMYRO{I} NOT IN (0 -1 -7) THEN DO; 1671 PAYLFTO{I}=(TLMTHO{I}-((&SYEAR-LNSTYRO{I})*12)); 1672 LNAGEO{I}=TLMTHO{I}-PAYLFTO{I}; 1673 END; 1674 ELSE DO; 1675 PAYLFTO{I}=0; 1676 LNAGEO{I}=0; 1677 END; 1678 END; 1679 1680 * Need to adjust monthly payments when taxes and/or insurance is 1681 included. If there is no balloon payment, and if the mort function 1682 value is less than the reported monthly payment amount then use mort 1683 function value as monthly payment. If there is no balloon and the 1684 mort function value is greater than the reported monthly amount, use 1685 the reported monthly amount. If there is a balloon and the amount 1686 borrowed is greater than the balloon, subtract the amount of the 1687 balloon and use this adjusted amount borrowed to figure the mort 1688 function value. If there is a balloon and the amount borrowed is less than 1689 the balloon, leave the amount borrowed as is. If the amount borrowed 1690 is equal to the balloon, then the mort function value is assumed to 1691 be just the amount borrowed times the interest rate. Once we have 1692 the mort value function compare it to the reported amount using the 1693 same rules as in the no balloon case.; 1694 DO I=1 TO DIM(HAVELNO); 1695 IF ((HAVELNO{I}=1) & (TAXINS{I} IN(1 2 3)) & TLMTHO{I} > 0 & 1696 INTRATEO{I} > 0) THEN DO; 1697 IF (HBALLNO{I}=1) THEN DO; 1698 %MORTPAY(AMTB=AMTBORRO{I},MPAY=AMOPAYO{I},IR=INTRATEO{I},TERM=TLMTHO{I}); 1699 IF (CMOPAYO{I} > AMOPAYO{I}) THEN CMOPAYO{I}=AMOPAYO{I}; 1700 ELSE IF (AMOPAYO{I} >= CMOPAYO{I}) & Y1=YY1*10+1 THEN PUT 1701 "ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT " 1702 Y1= AMTBORRO{I}= CMOPAYO{I}= AMOPAYO{I}= INTRATEO{I}= TAXINS{I}= 1703 TLMTHO{I}= HBALLNO{I}= BALLNO{I}= /; 31 The SAS System 10:41 Monday, May 31, 2021 1704 END; 1705 ELSE IF (HBALLNO{I}=5) THEN DO; 1706 IF (AMTBORRO{I} > BALLNO{I}) THEN 1707 ADJBORRO{I}=(AMTBORRO{I}-BALLNO{I}); 1708 ELSE IF (AMTBORRO{I} < BALLNO{I}) THEN ADJBORRO{I}=AMTBORRO{I}; 1709 IF ADJBORRO{I} > 0 THEN 1710 %MORTPAY(AMTB=ADJBORRO{I},MPAY=AMOPAYO{I},IR=INTRATEO{I},TERM=TLMTHO{I}); 1711 IF (AMTBORRO{I}=BALLNO{I}) THEN AMOPAYO{I}=((AMTBORRO{I})*(INTRATEO{I}/10000))/12; 1712 IF (CMOPAYO{I} > AMOPAYO{I}) THEN CMOPAYO{I}=AMOPAYO{I}; 1713 ELSE IF (AMOPAYO{I} >= CMOPAYO{I}) & Y1=YY1*10+1 THEN PUT 1714 "ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT " 1715 Y1= AMTBORRO{I}= CMOPAYO{I}= AMOPAYO{I}= INTRATEO{I}= TAXINS{I}= 1716 TLMTHO{I}= HBALLNO{I}= BALLNO{I}= /; 1717 END; 1718 END; 1719 END; 1720 1721 * First check for balloon payment, and if balloon is equal to amount 1722 borrowed, use amount borrowed times the interest rate as interest 1723 deduction, as long as this amount is not more than the annualized 1724 payment amount. If the balloon is not equal to amount borrowed or 1725 the annual payment criteria is not met, compute with non-balloon 1726 payment loans. If the term of the loan is coded -1 or -7 and there 1727 is a positive outstanding balance and interest rate, use that to 1728 compute the interest deduction. If the interest rate is equal to -1, 1729 then set interest deduction to zero.; 1730 * Computing the balance outstanding two ways, one starting from the 1731 begining of the loan (CURBAL) and one starting from what is left to 1732 be paid (AMTOWE); 1733 DO I=1 TO DIM(HAVELNO); 1734 IF (PROPTYPE{I} IN(12 13 14 21 22 25 40 49 999) & (HINCOMEO{I}=5 | 1735 INCOMEO{I}=-1)) | (PROPTYPE{I} IN(12 13 14 21 22 25 40 49 999) & 1736 HINCOMEO{I}=1 & INCOMEO{I} < (CMOPAYO{I}*12)) THEN DO; 1737 * indicator and counter of qualified properties; 1738 QUALPROP{I}=(HAVELNO{I}=1); 1739 QUALOTHPROP=QUALOTHPROP+QUALPROP{I}; 1740 FMVOP=FMVOP+PROPVAL{I}*(HAVELNO{I}=1); 1741 IF (HAVELNO{I}=1 & HBALLNO{I}=5 & NMYRO{I} NOT IN(0 -1 -7) & INTRATEO{I}^=-1 & 1742 AMTBORRO{I}=BALLNO{I} & (CMOPAYO{I}*12 <= AMTBORRO{I}*(INTRATEO{I}/10000))) 1743 THEN DO; 1744 SINTDCTO{I}=CMOPAYO{I}*12; 1745 AINTDCTO{I}=SINTDCTO{I}; 1746 CINTDCTO{I}=SINTDCTO{I}; 1747 END; 1748 ELSE IF (HAVELNO{I}=1 & HBALLNO{I} IN(1 5) & NMYRO{I} NOT IN(0 -1 -7) 1749 & INTRATEO{I}^=-1) THEN DO; 1750 IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & PAYLFTO{I} > 0) THEN DO; 1751 * a fix for payments reported as yearly that appear to be monthly; 1752 * IF (CMOPAYO{I} < AMTBORRO{I}*.005) THEN CMOPAYO{I}=MAX(REGPAYO{I},TYPAYO{I}); 1753 AMTOWEO{I}=CMOPAYO{I}*((1-1/(1+(INTRATEO{I}/10000)/12)**PAYLFTO{I})/ 1754 ((INTRATEO{I}/10000)/12)) 1755 +(HBALLNO{I}=5)*(BALLNO{I}/((1+(INTRATEO{I}/10000))**PAYLFTO{I})); 1756 AMTOWE_1O{I}=CMOPAYO{I}*((1-1/(1+(INTRATEO{I}/10000)/12)**(PAYLFTO{I}+12))/ 1757 ((INTRATEO{I}/10000)/12)) 1758 +(HBALLNO{I}=5)*(BALLNO{I}/((1+(INTRATEO{I}/10000))**(PAYLFTO{I}+12))); 1759 IF LNSTYRO{I}^=&SYEAR THEN AINTDCTO{I}=(CMOPAYO{I}*12)-(AMTOWE_1O{I}-AMTOWEO{I}); 1760 ELSE IF LNSTYRO{I}=&SYEAR THEN AINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 1761 END; 32 The SAS System 10:41 Monday, May 31, 2021 1762 ELSE IF (TLMTHO{I} < 0 | CMOPAYO{I} < 0 | PAYLFTO{I} < 0) THEN DO; 1763 AMTOWEO{I}=0; 1764 AMTOWE_1O{I}=0; 1765 AINTDCTO{I}=0; 1766 END; 1767 IF (TLMTHO{I} > 0 & AMTBORRO{I} > 0 & LNAGEO{I} > 0) THEN DO; 1768 CURBALO{I}=AMTBORRO{I}*(((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})- 1769 ((1+(INTRATEO{I}/10000)/12)**(LNAGEO{I})))/ 1770 (((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})-1); 1771 CURBAL_1O{I}=AMTBORRO{I}*(((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})- 1772 ((1+(INTRATEO{I}/10000)/12)**(LNAGEO{I}-12)))/ 1773 (((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})-1); 1774 CINTDCTO{I}=(CMOPAYO{I}*12)-(CURBAL_1O{I}-CURBALO{I}); 1775 END; 1776 ELSE IF (TLMTHO{I} < 0 | AMTBORRO{I} < 0 | LNAGEO{I} < 0) THEN DO; 1777 CURBALO{I}=0; 1778 CURBAL_1O{I}=0; 1779 CINTDCTO{I}=0; 1780 END; 1781 IF (AMTOUTO{I} > 0 & INTRATEO{I} > 0) THEN 1782 SINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 1783 ELSE SINTDCTO{I}=0; 1784 1785 * Also fixing cases where mortgage ends or starts in the survey year. 1786 Setting interest deduction to amount outstanding for year prior 1787 to the survey times the interest rate for mortgages ending in the 1788 survey year. For cases where mortgage starts in the survey year, 1789 just use amount borrowed times the interest rate if the home was 1790 not purchased in the survey year. If the home was purchased in 1791 the survey year, set deduction to zero.; 1792 IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & PAYLFTO{I}=0) THEN DO; 1793 CINTDCTO{I}=CURBAL_1O{I}*(INTRATEO{I}/10000); 1794 AINTDCTO{I}=CINTDCTO{I}; 1795 END; 1796 IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & LNSTYRO{I}=&SYEAR & PURCHYRO{I}=&SYEAR) THEN DO; 1797 CINTDCTO{I}=0; 1798 AINTDCTO{I}=0; 1799 SINTDCTO{I}=0; 1800 END; 1801 ELSE IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & LNSTYRO{I}=&SYEAR) THEN DO; 1802 CINTDCTO{I}=SINTDCTO{I}; 1803 AINTDCTO{I}=SINTDCTO{I}; 1804 END; 1805 1806 1807 * Ad hoc fix for negative interest deductions. Basically sets the 1808 interest deduction equal to curball1_1 times the interest rate if 1809 curball1 and curball1_1 are positive, otherwise the interest 1810 deduction equals the reported amount outstanding times the interest 1811 rate.; 1812 IF ((AINTDCTO{I} < 0 | CINTDCTO{I} < 0) & CURBALO{I} > 0 & 1813 CURBAL_1O{I} > 0) THEN DO; 1814 CINTDCTO{I}=CURBAL_1O{I}*(INTRATEO{I}/10000); 1815 AINTDCTO{I}=CINTDCTO{I}; 1816 END; 1817 ELSE IF ((AINTDCTO{I} < 0 | CINTDCTO{I} < 0) & (CURBALO{I} <= 0 & 1818 CURBAL_1O{I} <= 0)) THEN DO; 1819 CINTDCTO{I}=SINTDCTO{I}; 33 The SAS System 10:41 Monday, May 31, 2021 1820 AINTDCTO{I}=SINTDCTO{I}; 1821 END; 1822 1823 IF (SINTDCTO{I} > 0 & CINTDCTO{I} > 0) THEN 1824 DCTDIFFO{I}=CINTDCTO{I}-SINTDCTO{I}; 1825 ELSE DCTDIFFO{I}=0; 1826 1827 END; 1828 ELSE IF (HAVELNO{I}=1 & (NMYRO{I} IN(-1 -7) & NMPMTO{I} IN(-1 -7)) 1829 & AMTOUTO{I} > 0 & INTRATEO{I} > 0) THEN DO; 1830 SINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 1831 AINTDCTO{I}=SINTDCTO{I}; 1832 CINTDCTO{I}=SINTDCTO{I}; 1833 END; 1834 ELSE IF (HAVELNO{I}=1 & (INTRATEO{I}=-1)) THEN DO; 1835 AINTDCTO{I}=0; 1836 CINTDCTO{I}=0; 1837 SINTDCTO{I}=0; 1838 END; 1839 1840 * Averaging across the three measures of interest deduction; 1841 IF ((CINTDCTO{I} + AINTDCTO{I} + SINTDCTO{I}) > 0) THEN DO; 1842 AVINTDCTO{I}=(CINTDCTO{I}+AINTDCTO{I}+SINTDCTO{I})/3; 1843 END; 1844 ELSE AVINTDCTO{I}=0; 1845 1846 * Constraining interest deduction amount to be no more than the reported year 1847 mortgage payment - using avintdedct as prefered interest 1848 deduction measure. Also putting in a fix for cases were the 1849 interest deduction is more than 25 percent of the current amount 1850 outstanding. If this is the case then the use the simple interest deduction.; 1851 IF (HAVELNO{I}=1 & AVINTDCTO{I} > 0 & CMOPAYO{I} > 0 1852 & (AVINTDCTO{I} > CMOPAYO{I}*12)) THEN DO; 1853 AVINTDCTO{I}=CMOPAYO{I}*12; 1854 CINTDCTO{I}=AVINTDCTO{I}; 1855 AINTDCTO{I}=AVINTDCTO{I}; 1856 SINTDCTO{I}=AVINTDCTO{I}; 1857 END; 1858 IF (HAVELNO{I}=1 & AVINTDCTO{I} > 0 & AMTOUTO{I} > 0 & 1859 (AVINTDCTO{I} > .25*AMTOUTO{I})) THEN DO; 1860 AVINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 1861 CINTDCTO{I}=AVINTDCTO{I}; 1862 AINTDCTO{I}=AVINTDCTO{I}; 1863 END; 1864 1865 IF (HAVELNO{I}=1 & Y1=YY1*10+1 & (AVINTDCTO{I} > .25*AMTOUTO{I})) THEN PUT 1866 "DEDUCTION LARGER THAN 25% OF BALANCE OUTSTANDING " Y1= 1867 HAVELNO{I}= NMPMTO{I}= NMYRO{I}= TLMTHO{I}= REGPAYFO{I}= 1868 REGPAYO{I}= CMOPAYO{I}= TYPAYO{I}= TYPAYFO{I}= LNSTYRO{I}= 1869 PAYLFTO{I}= LNAGEO{I}= AMTOUTO{I}= JAMTOUTO{I}= AMTOWEO{I}= 1870 AMTOWE_1O{I}= AINTDCTO{I}= CURBALO{I}= CURBAL_1O{I}= 1871 CINTDCTO{I}= DCTDIFFO{I}= SINTDCTO{I}= AVINTDCTO{I}= 1872 INTRATEO{I}= AMTBORRO{I}= JAMTBORRO{I}= ONSCHEDO{I}= HBALLNO{I}= 1873 BALLNO{I}= HINCOMEO{I}= INCOMEO{I}= PROPTYPE{I}= PERPROP{I}= /; 1874 1875 1876 * Compute total deduction and total amount outstanding; 1877 TOTDEDCTO=TOTDEDCTO+((AVINTDCTO{I})*PERPROP{I}/10000)*(HAVELNO{I}=1); 34 The SAS System 10:41 Monday, May 31, 2021 1878 TOTAMTOUTO=TOTAMTOUTO+AMTOUTO{I}; 1879 1880 * Create flag for loans after 12/15/17, used in computing limits on mortgage 1881 interest deduction for home acquistion debt; 1882 LIMFLAG{I}=(LNSTYRO{I}> 2017 | (LNSTYRO{I}=2017 & LNSTMNO{I}=12)); 1883 END; 1884 END; 1885 1886 * Compute total deduction and total amount outstanding for 1887 qualified properties. Since a filer can only have 2 qualified 1888 homes (primary and secondary), need to check for a primary residence 1889 mortgage, and need to check if a hh has other homes/properties, need 1890 to decide which to count for the deduction. The basic rule assumes 1891 that hhs are rational and report the home/properties with the biggest deductions.; 1892 ADJDEDCTO=0; 1893 ADJAMTOUTO=0; 1894 ADJ17AMTOUTO=0; 1895 FMVOTHPROP=0; 1896 %IF &SYEAR GE 2010 %THEN %DO; 1897 IF (QUALOTHPROP > 0) THEN DO; 1898 IF (QUALOTHPROP=1 & QPROP1=1) THEN DO; 1899 ADJDEDCTO=AVINTDCTO1; 1900 ADJ17AMTOUTO=X1715*(LIMFL1=1); 1901 ADJAMTOUTO=X1715*(LIMFL1=0); 1902 FMVOTHPROP=X1706*(X1705/10000); 1903 END; 1904 ELSE IF (QUALOTHPROP=1 & QPROP2=1) THEN DO; 1905 ADJDEDCTO=AVINTDCTO2; 1906 ADJ17AMTOUTO=X1815*(LIMFL2=1); 1907 ADJAMTOUTO=X1815*(LIMFL2=0); 1908 FMVOTHPROP=X1806*(X1805/10000); 1909 END; 1910 ELSE IF (QUALOTHPROP=2) THEN DO; 1911 IF (AVINTDCTO1 >= AVINTDCTO2) THEN DO; 1912 ADJDEDCTO=AVINTDCTO1; 1913 ADJ17AMTOUTO=X1715*(LIMFL1=1); 1914 ADJAMTOUTO=X1715*(LIMFL1=0); 1915 FMVOTHPROP=X1706*(X1705/10000); 1916 END; 1917 ELSE IF (AVINTDCTO2 >= AVINTDCTO1) THEN DO; 1918 ADJDEDCTO=AVINTDCTO2; 1919 ADJ17AMTOUTO=X1815*(LIMFL2=1); 1920 ADJAMTOUTO=X1815*(LIMFL2=0); 1921 FMVOTHPROP=X1806*(X1805/10000); 1922 END; 1923 END; 1924 END; 1925 %END; 1926 %ELSE %IF &SYEAR LE 2007 %THEN %DO; 1927 IF (QUALOTHPROP > 0) THEN DO; 1928 IF (QUALOTHPROP=1 & QPROP1=1) THEN DO; 1929 ADJDEDCTO=AVINTDCTO1; 1930 ADJ17AMTOUTO=X1715*(LIMFL1=1); 1931 ADJAMTOUTO=X1715*(LIMFL1=0); 1932 FMVOTHPROP=X1706*(X1705/10000); 1933 END; 1934 ELSE IF (QUALOTHPROP=1 & QPROP2=1) THEN DO; 1935 ADJDEDCTO=AVINTDCTO2; 35 The SAS System 10:41 Monday, May 31, 2021 1936 ADJ17AMTOUTO=X1815*(LIMFL2=1); 1937 ADJAMTOUTO=X1815*(LIMFL2=0); 1938 FMVOTHPROP=X1806*(X1805/10000); 1939 END; 1940 ELSE IF (QUALOTHPROP=1 & QPROP3=1) THEN DO; 1941 ADJDEDCTO=AVINTDCTO3; 1942 ADJ17AMTOUTO=X1915*(LIMFL3=1); 1943 ADJAMTOUTO=X1915*(LIMFL3=0); 1944 FMVOTHPROP=X1906*(X1905/10000); 1945 END; 1946 ELSE IF (QUALOTHPROP=2) THEN DO; 1947 IF (QPROP1=1 & QPROP2=1) THEN DO; 1948 IF (AVINTDCTO1 >= AVINTDCTO2) THEN DO; 1949 ADJDEDCTO=AVINTDCTO1; 1950 ADJ17AMTOUTO=X1715*(LIMFL1=1); 1951 ADJAMTOUTO=X1715*(LIMFL1=0); 1952 FMVOTHPROP=X1706*(X1705/10000); 1953 END; 1954 ELSE IF (AVINTDCTO2 >= AVINTDCTO1) THEN DO; 1955 ADJDEDCTO=AVINTDCTO2; 1956 ADJ17AMTOUTO=X1815*(LIMFL2=1); 1957 ADJAMTOUTO=X1815*(LIMFL2=0); 1958 FMVOTHPROP=X1806*(X1805/10000); 1959 END; 1960 END; 1961 ELSE IF (QPROP1=1 & QPROP3=1) THEN DO; 1962 IF (AVINTDCTO1 >= AVINTDCTO3) THEN DO; 1963 ADJDEDCTO=AVINTDCTO1; 1964 ADJ17AMTOUTO=X1715*(LIMFL1=1); 1965 ADJAMTOUTO=X1715*(LIMFL1=0); 1966 FMVOTHPROP=X1706*(X1705/10000); 1967 END; 1968 ELSE IF (AVINTDCTO3 >= AVINTDCTO1) THEN DO; 1969 ADJDEDCTO=AVINTDCTO3; 1970 ADJ17AMTOUTO=X1915*(LIMFL3=1); 1971 ADJAMTOUTO=X1915*(LIMFL3=0); 1972 FMVOTHPROP=X1906*(X1905/10000); 1973 END; 1974 END; 1975 ELSE IF (QPROP2=1 & QPROP3=1) THEN DO; 1976 IF (AVINTDCTO2 >= AVINTDCTO3) THEN DO; 1977 ADJDEDCTO=AVINTDCTO2; 1978 ADJ17AMTOUTO=X1815*(LIMFL2=1); 1979 ADJAMTOUTO=X1815*(LIMFL2=0); 1980 FMVOTHPROP=X1806*(X1805/10000); 1981 END; 1982 ELSE IF (AVINTDCTO3 >= AVINTDCTO2) THEN DO; 1983 ADJDEDCTO=AVINTDCTO3; 1984 ADJ17AMTOUTO=X1915*(LIMFL3=1); 1985 ADJAMTOUTO=X1915*(LIMFL3=0); 1986 FMVOTHPROP=X1906*(X1905/10000); 1987 END; 1988 END; 1989 END; 1990 ELSE IF (QUALOTHPROP=3) THEN DO; 1991 IF (AVINTDCTO1 >= AVINTDCTO2 & AVINTDCTO1 >= AVINTDCTO3) THEN DO; 1992 ADJDEDCTO=AVINTDCTO1; 1993 ADJ17AMTOUTO=X1715*(LIMFL1=1); 36 The SAS System 10:41 Monday, May 31, 2021 1994 ADJAMTOUTO=X1715*(LIMFL1=0); 1995 FMVOTHPROP=X1706*(X1705/10000); 1996 END; 1997 ELSE IF (AVINTDCTO2 >= AVINTDCTO1 & AVINTDCTO2 >= AVINTDCTO3) THEN DO; 1998 ADJDEDCTO=AVINTDCTO2; 1999 ADJ17AMTOUTO=X1815*(LIMFL2=1); 2000 ADJAMTOUTO=X1815*(LIMFL2=0); 2001 FMVOTHPROP=X1806*(X1805/10000); 2002 END; 2003 ELSE IF (AVINTDCTO3 >= AVINTDCTO1 & AVINTDCTO3 >= AVINTDCTO2) THEN DO; 2004 ADJDEDCTO=AVINTDCTO3; 2005 ADJ17AMTOUTO=X1915*(LIMFL3=1); 2006 ADJAMTOUTO=X1915*(LIMFL3=0); 2007 FMVOTHPROP=X1906*(X1905/10000); 2008 END; 2009 END; 2010 END; 2011 %END; 2012 2013 * Check for cases where fair market value of home limits the amount of 2014 home equity debt hh can report. If the home acquisition debt is 2015 greater than the FMV of the home, then no home equity debt is 2016 reportable. But, if the home acquisition debt is less than the FMV 2017 of the home, then either all the home equity debt or a reduced 2018 amount of the home equity debt is reportable. In the second case, 2019 take the min of the difference between HA debt and FMV, and the HE 2020 debt amount.; 2021 2022 IF (X701=-7 & X7133=1) THEN DO; 2023 HOUSE=(X7134/10000)*X716; 2024 END; 2025 ELSE HOUSE=SUM(0,X604,X614,X623,X716,(X513+X526)); 2026 2027 IF (TOTEQDBTL > 0 & GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL+TOTEQDBTL > 2028 (HOUSE)) THEN DO; 2029 IF (FILESTAT^=3 & HOUSE-(GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL) > 0) THEN DO; 2030 ADJEQDBTL=MIN((HOUSE-(GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL)),TOTEQDBTL,100000); 2031 ADJDEDCTL=TOTDEDCTL*(ADJEQDBTL/TOTEQDBTL); 2032 END; 2033 ELSE IF (FILESTAT^=3 & HOUSE-(GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL) <= 0) THEN DO; 2034 ADJEQDBTL=0; 2035 ADJDEDCTL=0; 2036 END; 2037 ELSE IF ((FILESTAT=3) & 2038 HOUSE-(GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL) > 0) THEN DO; 2039 ADJEQDBTL=MIN((HOUSE-(GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL)),TOTEQDBTL,50000); 2040 ADJDEDCTL=TOTDEDCTL*(ADJEQDBTL/TOTEQDBTL); 2041 END; 2042 ELSE IF ((FILESTAT=3) & 2043 HOUSE-(GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL) <= 0) THEN DO; 2044 ADJEQDBTL=0; 2045 ADJDEDCTL=0; 2046 END; 2047 END; 2048 ELSE IF (TOTEQDBTL ^=. & TOTDEDCTL ^=.) THEN DO; 2049 ADJEQDBTL=TOTEQDBTL; 2050 ADJDEDCTL=TOTDEDCTL; 2051 END; 37 The SAS System 10:41 Monday, May 31, 2021 2052 2053 2054 IF (TOTEQDBTL > 0 & GRFAMTOUTM+A17AMTOUTM+HAAMTOUTM+TOTAQDBTL+TOTEQDBTL > 2055 (HOUSE) & Y1=YY1*10+1) THEN PUT 2056 "MORTGAGE GREATER THAN FMV FOR PRIMARY RESIDENCE " Y1= HOUSE= 2057 GRFAMTOUTM= HAAMTOUTM= TOTAQDBTL= ADJEQDBTL= TOTEQDBTL= TOTDEDCTM= ADJDEDCTO= 2058 ADJDEDCTL= X701= X501= X503= X723= /; 2059 2060 * Now apply the IRS limits to get the adjusted deduction amount, if 2061 the limit applies, otherwise, just compute total deduction (home 2062 acquisition and home equity), worksheet changed in 2018; 2063 2064 ADJDEDCT=0; 2065 2066 %IF &SYEAR LE 2016 %THEN %DO; 2067 * case 1 - grandfathered debt, no home acquisition debt, maybe home equity; 2068 IF (GRFAMTOUTM > 0 & HAAMTOUTM=0 & ADJAMTOUTO=0 & TOTAQDBTL=0) THEN 2069 DO; 2070 IF (FILESTAT^=3 & ADJEQDBTL <= 100000) THEN DO; 2071 OVERLIM=0; 2072 ADJDEDCT=TOTDEDCTM+ADJDEDCTL; 2073 END; 2074 ELSE IF (FILESTAT^=3 & ADJEQDBTL > 100000) THEN DO; 2075 OVERLIM=1; 2076 ADJDEDCT=((GRFAMTOUTM+100000)/(GRFAMTOUTM+ADJEQDBTL))*(TOTDEDCTM+ADJDEDCTL); 2077 END; 2078 ELSE IF (FILESTAT=3 & ADJEQDBTL <= 50000) THEN DO; 2079 OVERLIM=0; 2080 ADJDEDCT=TOTDEDCTM+ADJDEDCTL; 2081 END; 2082 ELSE IF (FILESTAT=3 & ADJEQDBTL > 50000) THEN DO; 2083 OVERLIM=1; 2084 ADJDEDCT=((GRFAMTOUTM+50000)/(GRFAMTOUTM+ADJEQDBTL))*(TOTDEDCTM+ADJDEDCTL); 2085 END; 2086 END; 2087 * case 2 - some grandfathered debt, some home acquisition debt, maybe 2088 home equity; 2089 ELSE IF (GRFAMTOUTM > 0 & (HAAMTOUTM > 0 | ADJAMTOUTO > 2090 0 | TOTAQDBTL > 0)) THEN DO; 2091 IF (FILESTAT^=3 & (ADJEQDBTL=0 | ADJEQDBTL <= 100000) & 2092 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 1000000)) THEN DO; 2093 OVERLIM=0; 2094 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+ADJDEDCTL; 2095 END; 2096 ELSE IF (FILESTAT^=3 & ADJEQDBTL > 100000 & 2097 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 1000000)) THEN DO; 2098 OVERLIM=1; 2099 ADJDEDCT=((GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+100000) 2100 /(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2101 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2102 END; 2103 ELSE IF (FILESTAT^=3 & (ADJEQDBTL <= 100000) & 2104 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 1000000)) THEN DO; 2105 OVERLIM=1; 2106 ADJDEDCT=((MAX((GRFAMTOUTM+ADJEQDBTL),(1000000+ADJEQDBTL))) 2107 /(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL))*(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2108 END; 2109 ELSE IF (FILESTAT^=3 & (ADJEQDBTL > 100000) & 38 The SAS System 10:41 Monday, May 31, 2021 2110 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 1000000)) THEN DO; 2111 OVERLIM=1; 2112 ADJDEDCT=((MAX((GRFAMTOUTM+100000),1100000))/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2113 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2114 END; 2115 ELSE IF (FILESTAT=3 & 2116 (ADJEQDBTL=0 | ADJEQDBTL <= 50000) & 2117 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 500000)) THEN DO; 2118 OVERLIM=0; 2119 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+ADJDEDCTL; 2120 END; 2121 ELSE IF (FILESTAT=3 & ADJEQDBTL > 50000 & 2122 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 500000)) THEN DO; 2123 OVERLIM=1; 2124 ADJDEDCT=((GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+50000) 2125 /(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2126 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2127 END; 2128 ELSE IF (FILESTAT=3 & 2129 (ADJEQDBTL=0 | ADJEQDBTL <= 50000) & 2130 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 500000)) THEN DO; 2131 OVERLIM=1; 2132 ADJDEDCT=((MAX((GRFAMTOUTM+ADJEQDBTL),(500000+ADJEQDBTL))) 2133 /(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL))*(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2134 END; 2135 ELSE IF (FILESTAT=3 & 2136 (ADJEQDBTL=0 | ADJEQDBTL > 50000) & 2137 (GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 500000)) THEN DO; 2138 OVERLIM=1; 2139 ADJDEDCT=((MAX((GRFAMTOUTM+50000),550000))/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2140 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2141 END; 2142 END; 2143 * case 3 - no grandfathered debt, maybe home acquisition, maybe home equity; 2144 ELSE IF (GRFAMTOUTM=0 & (HAAMTOUTM > 0 | ADJAMTOUTO > 2145 0 | TOTAQDBTL > 0 | ADJEQDBTL > 0)) THEN DO; 2146 IF (FILESTAT^=3 & HAAMTOUTM=0 & ADJAMTOUTO=0 & TOTAQDBTL=0 & ADJEQDBTL > 0 & 2147 ADJEQDBTL <= 100000) THEN DO; 2148 OVERLIM=0; 2149 ADJDEDCT=ADJDEDCTL; 2150 END; 2151 ELSE IF (FILESTAT^=3 & HAAMTOUTM=0 & ADJAMTOUTO=0 & 2152 TOTAQDBTL=0 & ADJEQDBTL > 100000) THEN DO; 2153 OVERLIM=1; 2154 ADJDEDCT=((100000)/ADJEQDBTL)*ADJDEDCTL; 2155 END; 2156 ELSE IF (FILESTAT^=3 & (HAAMTOUTM+ADJAMTOUTO+ 2157 TOTAQDBTL <= 1000000) & ADJEQDBTL <= 100000) THEN DO; 2158 OVERLIM=0; 2159 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+ADJDEDCTL; 2160 END; 2161 ELSE IF (FILESTAT^=3 & (HAAMTOUTM+ADJAMTOUTO+ 2162 TOTAQDBTL <= 1000000) & ADJEQDBTL > 100000) THEN DO; 2163 OVERLIM=1; 2164 ADJDEDCT=((HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+100000)/ 2165 (HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL))*(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2166 END; 2167 ELSE IF (FILESTAT^=3 & (HAAMTOUTM+ADJAMTOUTO+ 39 The SAS System 10:41 Monday, May 31, 2021 2168 TOTAQDBTL > 1000000) & (ADJEQDBTL <= 100000)) THEN DO; 2169 OVERLIM=1; 2170 ADJDEDCT=((1000000+ADJEQDBTL)/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2171 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2172 END; 2173 ELSE IF (FILESTAT^=3 & (HAAMTOUTM+ADJAMTOUTO+ 2174 TOTAQDBTL > 1000000) & (ADJEQDBTL > 100000)) THEN DO; 2175 OVERLIM=1; 2176 ADJDEDCT=((1100000)/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2177 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2178 END; 2179 ELSE IF (FILESTAT=3 & 2180 HAAMTOUTM=0 & ADJAMTOUTO=0 & TOTAQDBTL=0 & ADJEQDBTL > 0 & 2181 ADJEQDBTL <= 50000) THEN DO; 2182 OVERLIM=0; 2183 ADJDEDCT=ADJDEDCTL; 2184 END; 2185 ELSE IF (FILESTAT=3 & 2186 HAAMTOUTM=0 & ADJAMTOUTO=0 & TOTAQDBTL=0 & ADJEQDBTL > 50000) THEN DO; 2187 OVERLIM=1; 2188 ADJDEDCT=((50000)/ADJEQDBTL)*ADJDEDCTL; 2189 END; 2190 ELSE IF (FILESTAT=3 & 2191 (HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 500000) & ADJEQDBTL <= 50000) THEN DO; 2192 OVERLIM=0; 2193 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+ADJDEDCTL; 2194 END; 2195 ELSE IF (FILESTAT=3 & 2196 (HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 500000) & ADJEQDBTL > 50000) THEN DO; 2197 OVERLIM=1; 2198 ADJDEDCT=((HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+50000)/ 2199 (HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL))*(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2200 END; 2201 ELSE IF (FILESTAT=3 & 2202 (HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 500000) & (ADJEQDBTL <= 50000)) THEN DO; 2203 OVERLIM=1; 2204 ADJDEDCT=((500000+ADJEQDBTL)/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2205 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2206 END; 2207 ELSE IF (FILESTAT=3 & 2208 (HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 500000) & (ADJEQDBTL > 50000)) THEN DO; 2209 OVERLIM=1; 2210 ADJDEDCT=((550000)/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+ADJEQDBTL)) 2211 *(TOTDEDCTM+ADJDEDCTO+ADJDEDCTL); 2212 END; 2213 END; 2214 %END; 2215 %ELSE %IF &SYEAR GE 2019 %THEN %DO; 2216 * Starting in 2018, only HELOCs for home acquistion are included per the new tax rules; 2217 * case 1 - grandfathered debt, maybe home acquisition debt and no post 12/15/17 home acquistion debt; 2218 IF (GRFAMTOUTM > 0 & (HAAMTOUTM >= 0 | ADJAMTOUTO >= 0 | TOTAQDBTL >= 0) 2219 & (A17AMTOUTM=0 & ADJ17AMTOUTO=0)) THEN DO; 2220 IF (FILESTAT^=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 1000000) THEN DO; 2221 OVERLIM=0; 2222 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL; 2223 END; 2224 ELSE IF (FILESTAT^=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 1000000) THEN DO; 2225 OVERLIM=1; 40 The SAS System 10:41 Monday, May 31, 2021 2226 ADJDEDCT=((MAX(GRFAMTOUTM,1000000))/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL))*(TOTDEDCTM+ADJDEDCTO 2226 ! +TOTAQDEDCTL); 2227 END; 2228 ELSE IF (FILESTAT=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL <= 500000) THEN DO; 2229 OVERLIM=0; 2230 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL; 2231 END; 2232 ELSE IF (FILESTAT=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 500000) THEN DO; 2233 OVERLIM=1; 2234 ADJDEDCT=((MAX(GRFAMTOUTM,500000))/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL))*(TOTDEDCTM+ADJDEDCTO+ 2234 ! TOTAQDEDCTL); 2235 END; 2236 END; 2237 * case 2 - grandfathered debt and both vintages of home acquisition debt; 2238 ELSE IF (GRFAMTOUTM > 0 & (HAAMTOUTM > 0 | ADJAMTOUTO > 0 | TOTAQDBTL > 0 2239 | A17AMTOUTM > 0 | ADJ17AMTOUTO > 0)) THEN DO; 2240 IF (FILESTAT^=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 750000) THEN DO; 2241 OVERLIM=1; 2242 IF GRFAMTOUTM > 1000000 THEN ADJDECT=((GRFAMTOUTM)/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)) 2243 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2244 ELSE IF GRFAMTOUTM <=1000000 THEN 2245 ADJDEDCT=((MIN(1000000,(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)))/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO 2245 ! +TOTAQDBTL)) 2246 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2247 END; 2248 ELSE IF (FILESTAT^=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO > 750000) THEN 2248 ! DO; 2249 OVERLIM=1; 2250 ADJDEDCT=((750000)/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO)) 2251 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2252 END; 2253 ELSE IF (FILESTAT^=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO <= 750000) 2253 ! THEN DO; 2254 OVERLIM=0; 2255 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL; 2256 END; 2257 ELSE IF (FILESTAT=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 375000) THEN DO; 2258 OVERLIM=1; 2259 IF GRFAMTOUTM > 500000 THEN ADJDECT=((GRFAMTOUTM)/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)) 2260 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2261 ELSE IF GRFAMTOUTM <=500000 THEN 2262 ADJDEDCT=((MIN(500000,(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)))/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+ 2262 ! TOTAQDBTL)) 2263 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2264 END; 2265 ELSE IF (FILESTAT=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO > 375000) THEN 2265 ! DO; 2266 OVERLIM=1; 2267 ADJDEDCT=((375000)/(GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO)) 2268 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2269 END; 2270 ELSE IF (FILESTAT=3 & GRFAMTOUTM+HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO <= 375000) THEN 2270 ! DO; 2271 OVERLIM=0; 2272 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL; 2273 END; 2274 END; 2275 * case 3 - no grandfathered debt and either or both types of home acquisition debt; 41 The SAS System 10:41 Monday, May 31, 2021 2276 ELSE IF (GRFAMTOUTM=0 & (HAAMTOUTM > 0 | ADJAMTOUTO > 0 | TOTAQDBTL > 0 2277 | A17AMTOUTM > 0 | ADJ17AMTOUTO > 0)) THEN DO; 2278 IF (FILESTAT^=3 & HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 750000 & (A17AMTOUTM+ADJ17AMTOUTO=0)) THEN DO; 2279 OVERLIM=1; 2280 ADJDEDCT=((MIN(1000000,(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)))/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)) 2281 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2282 END; 2283 ELSE IF (FILESTAT^=3 & HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO > 750000) THEN DO; 2284 OVERLIM=1; 2285 ADJDEDCT=((750000)/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO)) 2286 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2287 END; 2288 ELSE IF (FILESTAT^=3 & HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO <= 750000) THEN DO; 2289 OVERLIM=0; 2290 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL; 2291 END; 2292 ELSE IF (FILESTAT=3 & HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL > 375000) THEN DO; 2293 OVERLIM=1; 2294 ADJDEDCT=((MIN(500000,(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)))/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL)) 2295 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2296 END; 2297 ELSE IF (FILESTAT=3 & HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO > 375000) THEN DO; 2298 OVERLIM=1; 2299 ADJDEDCT=((375000)/(HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO)) 2300 *(TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL); 2301 END; 2302 ELSE IF (FILESTAT=3 & HAAMTOUTM+ADJAMTOUTO+TOTAQDBTL+A17AMTOUTM+ADJ17AMTOUTO <= 375000) THEN DO; 2303 OVERLIM=0; 2304 ADJDEDCT=TOTDEDCTM+ADJDEDCTO+TOTAQDEDCTL; 2305 END; 2306 END; 2307 * case 4 - only home equity debt, not deductible; 2308 ELSE IF ADJEQDBTL > 0 THEN OVERLIM=0; 2309 %END; 2310 2311 * a few obs will come out here, but they either have -1 as the 2312 interest rate or are land contracts; 2313 IF ((GRFAMTOUTM > 0 | HAAMTOUTM > 0 | ADJAMTOUTO > 0 | TOTAQDBTL > 0 2314 | (ADJEQDBTL*(&SYEAR LE 2016)) > 0 | A17AMTOUTM > 0 & ADJ17AMTOUTO > 0) & ADJDEDCT=0 2315 & X5744 IN(1 5 6) & Y1=YY1*10+1 & X720^=&SYEAR) THEN PUT 2316 "MORTGAGE DEDUCTION SHOULD NOT BE ZERO " Y1= X5744= X5746= 2317 GRFAMTOUTM= HAAMTOUTM= ADJAMTOUTO= TOTAQDBTL= ADJEQDBTL= A17AMTOUTM= ADJ17AMTOUTO= 2318 TOTDEDCTM= ADJDEDCTO= ADJDEDCTL= OVERLIM= QUALOTHPROP= CINTDCTM1= 2319 CINTDCTM2= CINTDCTM3= CINTDCTO1= CINTDCTO2= X702= X714= X7135= X723=/; 2320 2321 IF ((GRFAMTOUTM > 0 | HAAMTOUTM > 0 | ADJAMTOUTO > 0 | TOTAQDBTL > 0 2322 | ADJEQDBTL > 0 | A17AMTOUTM > 0 & ADJ17AMTOUTO > 0) & OVERLIM=. 2323 & Y1=YY1*10+1) THEN PUT 2324 "OVER LIMIT INDICATOR MISSING " Y1= X5744= X5746= 2325 GRFAMTOUTM= HAAMTOUTM= ADJAMTOUTO= TOTAQDBTL= ADJEQDBTL= 2326 A17AMTOUTM= ADJ17AMTOUTO= TOTDEDCTM= ADJDEDCTO= ADJDEDCTL= OVERLIM= ADJDEDCT=/; 2327 2328 IF ADJDEDCT >= 100000 & Y1=YY1*10+1 THEN PUT 2329 "HUGE MORTGAGE INTEREST DEDUCTION " Y1= TOTDEDCTM= GRFAMTOUTM= 2330 HAAMTOUTM= TOTAQDBTL= ADJDEDCTL= ADJEQDBTL= ADJDEDCTO= ADJAMTOUTO= 2331 A17AMTOUTM= ADJ17AMTOUTO= HOUSE= QUALOTHPROP= FMVOTHPROP= X5744= X5746= ADJDEDCT= /; 2332 2333 ************Real estate taxes; 42 The SAS System 10:41 Monday, May 31, 2021 2334 * TAXSIM doesnt want local property taxes in amount of itemized 2335 deductions, listed as a separate variable; 2336 * Property tax rate, for some cases with high property tax rates R 2337 reports paying an amount on a monthly basis that appears to be a 2338 yearly payment, adjusting those cases below; 2339 PROPTXRATE=0; 2340 IF (HOUSE > 0 & RESTAXM1 > 0) THEN PROPTXRATE=(RESTAXM1/HOUSE)*100; 2341 IF (PROPTXRATE > 10 & Y1=YY1*10+1) THEN PUT "HIGH PROPERTY TAX RATE " Y1= HOUSE= 2342 RESTAXM1= X721= J721= X722= J722= X501= X601= X701= PROPTXRATE=/; 2343 IF (PROPTXRATE > 10 & X722=4) THEN RESTAXM1=X721; 2344 2345 2346 ************Investment interest expense; 2347 * Calculating deductible interest expenses. It appears from the IRS 2348 regulations that a taxpayer can only deduct allowable interest 2349 expense up to the amount of interest income received. So need to 2350 add up dividend/interest income. Capital gains not included in this 2351 amount. Investment expenses (in the SCF data) consists of interest paid on loans for 2352 investments, we have no information on other investment expenses.; 2353 2354 * To calculate investment interest expense, using the same code for 2355 LOCs, investment properties and other loans as used for mortgage interest deduction, 2356 but modifying the code to only count investment properties and 2357 loans for investments.; 2358 * LOCs - only counting loans not secured by the residence and with 2359 asset or real estate investment as loan purpose.; 2360 IF (X1101=1) THEN DO; 2361 DO I=1 TO DIM(SBYHOME); 2362 IF (SBYHOME{I}=5 & DOOWE{I}=1 & LNPURP{I} IN(76 78 79)) THEN DO; 2363 IF (TYPAYL{I} > 0) THEN DO; 2364 %MOCONV(AMT=TYPAYL{I},MOAMT=CMOPAYL{I},PER=TYPAYLF{I},IML=NO,YEAR8=YES); 2365 END; 2366 ELSE IF (TYPAYL{I} IN(0 -1 -2)) THEN DO; 2367 CMOPAYL{I}=0; 2368 END; 2369 IF (INTRATEL{I} > 0) THEN DO; 2370 SINTDCTL{I}=((INTRATEL{I}/10000)*AMTOUTL{I}); 2371 END; 2372 ELSE IF (INTRATEL{I} IN(0 -1)) THEN DO; 2373 SINTDCTL{I}=0; 2374 END; 2375 IF (SINTDCTL{I} > 0 & CMOPAYL{I} > 0 & SINTDCTL{I} > CMOPAYL{I}*12) THEN DO; 2376 SINTDCTL{I}=CMOPAYL{I}*12; 2377 END; 2378 TOTLOCINVEX=TOTLOCINVEX+SINTDCTL{I}; 2379 END; 2380 END; 2381 END; 2382 2383 * Other properties - only counting properties held for investment 2384 purposes, and hh must receive income from the property.; 2385 DO I=1 TO DIM(HAVELNO); 2386 IF (PROPTYPE{I} IN(41 42 43 44 45 46 47 48) & (INCOMEO{I} > 0)) THEN DO; 2387 * indicator and counter of qualified properties; 2388 QUALPINV{I}=(HAVELNO{I}=1); 2389 QUALINVPROP=QUALINVPROP+QUALPINV{I}; 2390 IF (HAVELNO{I}=1 & HBALLNO{I}=5 & NMYRO{I} NOT IN(0 -1 -7) & INTRATEO{I}^=-1 & 2391 AMTBORRO{I}=BALLNO{I} & (CMOPAYO{I}*12 <= AMTBORRO{I}*(INTRATEO{I}/10000))) 43 The SAS System 10:41 Monday, May 31, 2021 2392 THEN DO; 2393 SINTDCTO{I}=CMOPAYO{I}*12; 2394 AINTDCTO{I}=SINTDCTO{I}; 2395 CINTDCTO{I}=SINTDCTO{I}; 2396 END; 2397 ELSE IF (HAVELNO{I}=1 & HBALLNO{I} IN(1 5) & NMYRO{I} NOT IN(0 -1 -7) 2398 & INTRATEO{I}^=-1) THEN DO; 2399 IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & PAYLFTO{I} > 0) THEN DO; 2400 * a fix for payments reported as yearly that appear to be monthly; 2401 * IF (CMOPAYO{I} < AMTBORRO{I}*.005) THEN CMOPAYO{I}=MAX(REGPAYO{I},TYPAYO{I}); 2402 AMTOWEO{I}=CMOPAYO{I}*((1-1/(1+(INTRATEO{I}/10000)/12)**PAYLFTO{I})/ 2403 ((INTRATEO{I}/10000)/12)) 2404 +(HBALLNO{I}=5)*(BALLNO{I}/((1+(INTRATEO{I}/10000))**PAYLFTO{I})); 2405 AMTOWE_1O{I}=CMOPAYO{I}*((1-1/(1+(INTRATEO{I}/10000)/12)**(PAYLFTO{I}+12))/ 2406 ((INTRATEO{I}/10000)/12)) 2407 +(HBALLNO{I}=5)*(BALLNO{I}/((1+(INTRATEO{I}/10000))**(PAYLFTO{I}+12))); 2408 IF LNSTYRO{I}^=&SYEAR THEN AINTDCTO{I}=(CMOPAYO{I}*12)-(AMTOWE_1O{I}-AMTOWEO{I}); 2409 ELSE IF LNSTYRO{I}=&SYEAR THEN AINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 2410 END; 2411 ELSE IF (TLMTHO{I} < 0 | CMOPAYO{I} < 0 | PAYLFTO{I} < 0) THEN DO; 2412 AMTOWEO{I}=0; 2413 AMTOWE_1O{I}=0; 2414 AINTDCTO{I}=0; 2415 END; 2416 IF (TLMTHO{I} > 0 & AMTBORRO{I} > 0 & LNAGEO{I} > 0) THEN DO; 2417 CURBALO{I}=AMTBORRO{I}*(((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})- 2418 ((1+(INTRATEO{I}/10000)/12)**(LNAGEO{I})))/ 2419 (((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})-1); 2420 CURBAL_1O{I}=AMTBORRO{I}*(((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})- 2421 ((1+(INTRATEO{I}/10000)/12)**(LNAGEO{I}-12)))/ 2422 (((1+(INTRATEO{I}/10000)/12)**TLMTHO{I})-1); 2423 CINTDCTO{I}=(CMOPAYO{I}*12)-(CURBAL_1O{I}-CURBALO{I}); 2424 END; 2425 ELSE IF (TLMTHO{I} < 0 | AMTBORRO{I} < 0 | LNAGEO{I} < 0) THEN DO; 2426 CURBALO{I}=0; 2427 CURBAL_1O{I}=0; 2428 CINTDCTO{I}=0; 2429 END; 2430 IF (AMTOUTO{I} > 0 & INTRATEO{I} > 0) THEN 2431 SINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 2432 ELSE SINTDCTO{I}=0; 2433 2434 * Also fixing cases where mortgage ends or starts in the survey year. 2435 Setting interest deduction to amount outstanding for year prior 2436 to the survey times the interest rate for mortgages ending in the 2437 survey year. For cases where mortgage starts in the survey year, 2438 just use amount borrowed times the interest rate if the home was 2439 not purchased in the survey year. If the home was purchased in 2440 the survey year, set deduction to zero.; 2441 IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & PAYLFTO{I}=0) THEN DO; 2442 CINTDCTO{I}=CURBAL_1O{I}*(INTRATEO{I}/10000); 2443 AINTDCTO{I}=CINTDCTO{I}; 2444 END; 2445 IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & LNSTYRO{I}=&SYEAR & PURCHYRO{I}=&SYEAR) THEN DO; 2446 CINTDCTO{I}=0; 2447 AINTDCTO{I}=0; 2448 SINTDCTO{I}=0; 2449 END; 44 The SAS System 10:41 Monday, May 31, 2021 2450 ELSE IF (TLMTHO{I} > 0 & CMOPAYO{I} > 0 & LNSTYRO{I}=&SYEAR) THEN DO; 2451 CINTDCTO{I}=SINTDCTO{I}; 2452 AINTDCTO{I}=SINTDCTO{I}; 2453 END; 2454 2455 * Ad hoc fix for negative interest deductions. Basically sets the 2456 interest deduction equal to curball1_1 times the interest rate if 2457 curball1 and curball1_1 are positive, otherwise the interest 2458 deduction equals the reported amount outstanding times the interest 2459 rate.; 2460 IF ((AINTDCTO{I} < 0 | CINTDCTO{I} < 0) & CURBALO{I} > 0 & 2461 CURBAL_1O{I} > 0) THEN DO; 2462 CINTDCTO{I}=CURBAL_1O{I}*(INTRATEO{I}/10000); 2463 AINTDCTO{I}=CINTDCTO{I}; 2464 END; 2465 ELSE IF ((AINTDCTO{I} < 0 | CINTDCTO{I} < 0) & (CURBALO{I} <= 0 & 2466 CURBAL_1O{I} <= 0)) THEN DO; 2467 CINTDCTO{I}=SINTDCTO{I}; 2468 AINTDCTO{I}=SINTDCTO{I}; 2469 END; 2470 2471 IF (SINTDCTO{I} > 0 & CINTDCTO{I} > 0) THEN 2472 DCTDIFFO{I}=CINTDCTO{I}-SINTDCTO{I}; 2473 ELSE DCTDIFFO{I}=0; 2474 2475 END; 2476 ELSE IF (HAVELNO{I}=1 & (NMYRO{I} IN(-1 -7) & NMPMTO{I} IN(-1 -7)) 2477 & AMTOUTO{I} > 0 & INTRATEO{I} > 0) THEN DO; 2478 SINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 2479 AINTDCTO{I}=SINTDCTO{I}; 2480 CINTDCTO{I}=SINTDCTO{I}; 2481 END; 2482 ELSE IF (HAVELNO{I}=1 & (INTRATEO{I}=-1)) THEN DO; 2483 AINTDCTO{I}=0; 2484 CINTDCTO{I}=0; 2485 SINTDCTO{I}=0; 2486 END; 2487 2488 * Averaging across the three measures of interest deduction; 2489 IF ((CINTDCTO{I} + AINTDCTO{I} + SINTDCTO{I}) > 0) THEN DO; 2490 AVINTDCTO{I}=(CINTDCTO{I}+AINTDCTO{I}+SINTDCTO{I})/3; 2491 END; 2492 ELSE AVINTDCTO{I}=0; 2493 2494 * Constraining interest deduction amount to be no more than the reported year 2495 mortgage payment - using avintdedct as prefered interest 2496 deduction measure. Also putting in a fix for cases were the 2497 interest deduction is more than 25 percent of the current amount 2498 outstanding. If this is the case then the use the simple interest deduction.; 2499 IF (HAVELNO{I}=1 & AVINTDCTO{I} > 0 & CMOPAYO{I} > 0 2500 & (AVINTDCTO{I} > CMOPAYO{I}*12)) THEN DO; 2501 AVINTDCTO{I}=CMOPAYO{I}*12; 2502 CINTDCTO{I}=AVINTDCTO{I}; 2503 AINTDCTO{I}=AVINTDCTO{I}; 2504 SINTDCTO{I}=AVINTDCTO{I}; 2505 END; 2506 IF (HAVELNO{I}=1 & AVINTDCTO{I} > 0 & AMTOUTO{I} > 0 & 2507 (AVINTDCTO{I} > .25*AMTOUTO{I})) THEN DO; 45 The SAS System 10:41 Monday, May 31, 2021 2508 AVINTDCTO{I}=AMTOUTO{I}*(INTRATEO{I}/10000); 2509 CINTDCTO{I}=AVINTDCTO{I}; 2510 AINTDCTO{I}=AVINTDCTO{I}; 2511 END; 2512 2513 2514 IF (HAVELNO{I}=1 & Y1=YY1*10+1 & (AVINTDCTO{I} > .25*AMTOUTO{I})) THEN PUT 2515 "DEDUCTION LARGER THAN 25% OF BALANCE OUTSTANDING " Y1= 2516 HAVELNO{I}= NMPMTO{I}= NMYRO{I}= TLMTHO{I}= REGPAYFO{I}= 2517 REGPAYO{I}= CMOPAYO{I}= TYPAYO{I}= TYPAYFO{I}= LNSTYRO{I}= 2518 PAYLFTO{I}= LNAGEO{I}= AMTOUTO{I}= JAMTOUTO{I}= AMTOWEO{I}= 2519 AMTOWE_1O{I}= AINTDCTO{I}= CURBALO{I}= CURBAL_1O{I}= 2520 CINTDCTO{I}= DCTDIFFO{I}= SINTDCTO{I}= AVINTDCTO{I}= 2521 INTRATEO{I}= AMTBORRO{I}= JAMTBORRO{I}= ONSCHEDO{I}= HBALLNO{I}= 2522 BALLNO{I}= HINCOMEO{I}= INCOMEO{I}= PROPTYPE{I}= PERPROP{I}= /; 2523 2524 * Compute total investment interest expense; 2525 TOTINVPDCT=TOTINVPDCT+((AVINTDCTO{I})*PERPROP{I}/10000)*(HAVELNO{I}=1); 2526 END; 2527 END; 2528 2529 2530 * Other loans - only counting loans for (non-business) investment purposes; 2531 ARRAY TLMTHI {*} TLMTHI1 TLMTHI2 TLMTHI3 TLMTHI4 TLMTHI5 TLMTHI6; 2532 ARRAY CMOPAYI {*} CMOPAYI1 CMOPAYI2 CMOPAYI3 CMOPAYI4 CMOPAYI5 CMOPAYI6; 2533 ARRAY PAYLFTI {*} PAYLFTI1 PAYLFTI2 PAYLFTI3 PAYLFTI4 PAYLFTI5 PAYLFTI6; 2534 ARRAY AMTOWEI {*} AMTOWEI1 AMTOWEI2 AMTOWEI3 AMTOWEI4 AMTOWEI5 AMTOWEI6; 2535 ARRAY AMTOWE_1I {*} AMTOWE_1I1 AMTOWE_1I2 AMTOWE_1I3 AMTOWE_1I4 AMTOWE_1I5 AMTOWE_1I6; 2536 ARRAY AINTEXPI {*} AINTEXPI1 AINTEXPI2 AINTEXPI3 AINTEXPI4 AINTEXPI5 AINTEXPI6; 2537 ARRAY LNAGEI {*} LNAGEI1 LNAGEI2 LNAGEI3 LNAGEI4 LNAGEI5 LNAGEI6; 2538 ARRAY CURBALI {*} CURBALI1 CURBALI2 CURBALI3 URBALI4 CURBALI5 CURBALI6; 2539 ARRAY CURBAL_1I {*} CURBAL_1I1 CURBAL_1I2 CURBAL_1I3 CURBAL_1I4 CURBAL_1I5 CURBAL_1I6; 2540 ARRAY CINTEXPI {*} CINTEXPI1 CINTEXPI2 CINTEXPI3 CINTEXPI4 CINTEXPI5 CINTEXPI6; 2541 ARRAY DCTDIFFI {*} DCTDIFFI1 DCTDIFFI2 DCTDIFFI3 DCTDIFFI4 DCTDIFFI5 DCTDIFFI6; 2542 ARRAY SINTEXPI {*} SINTEXPI1 SINTEXPI2 SINTEXPI3 SINTEXPI4 SINTEXPI5 SINTEXPI6; 2543 ARRAY AVINTEXPI {*} AVINTEXPI1 AVINTEXPI2 AVINTEXPI3 AVINTEXPI4 AVINTEXPI5 AVINTEXPI6; 2544 ARRAY QUALN {*} QLN1 QLN2 QLN3 QLN4 QLN5 QLN6; 2545 ARRAY NMPMTI {*} X2716 X2733 X2816 X2833 X2916 X2933; 2546 ARRAY NMYRI {*} X2717 X2734 X2817 X2834 X2917 X2934; 2547 ARRAY REGPAYFI {*} X7527 X7526 X7525 X7524 X7523 X7522; 2548 ARRAY REGPAYI {*} X2718 X2735 X2818 X2835 X2918 X2935; 2549 ARRAY TYPAYFI {*} X2720 X2737 X2820 X2837 X2920 X2937; 2550 ARRAY TYPAYI {*} X2719 X2736 X2819 X2836 X2919 X2936; 2551 ARRAY LNSTYRI {*} X2713 X2730 X2813 X2830 X2913 X2930; 2552 ARRAY AMTBORRI {*} X2714 X2731 X2814 X2831 X2914 X2931; 2553 ARRAY JAMTBORRI {*} J2714 J2731 J2814 J2831 J2914 J2931; 2554 ARRAY AMTOUTI {*} X2723 X2740 X2823 X2840 X2923 X2940; 2555 ARRAY JAMTOUTI {*} J2723 J2740 J2823 J2840 J2923 J2940; 2556 ARRAY INTRATEI {*} X2724 X2741 X2824 X2841 X2924 X2941; 2557 ARRAY ONSCHEDI {*} X7521 X7520 X7519 X7518 X7517 X7516;; 2558 ARRAY LNTYPE {*} X2710 X2727 X2810 X2827 X2910 X2927; 2559 ARRAY BUSLN {*} X6842 X6843 X6844 X6845 X6846 X6847; 2560 2561 * Initialize some variables; 2562 DO I=1 TO DIM(TLMTHI); 2563 TLMTHI{I}=0; 2564 CMOPAYI{I}=0; 2565 PAYLFTI{I}=0; 46 The SAS System 10:41 Monday, May 31, 2021 2566 AMTOWEI{I}=0; 2567 AMTOWE_1I{I}=0; 2568 AINTEXPI{I}=0; 2569 LNAGEI{I}=0; 2570 CURBALI{I}=0; 2571 CURBAL_1I{I}=0; 2572 CINTEXPI{I}=0; 2573 DCTDIFFI{I}=0; 2574 SINTEXPI{I}=0; 2575 AVINTEXPI{I}=0; 2576 QUALN{I}=0; 2577 END; 2578 2579 TOTLNINVEX=0; 2580 QUALOANINV=0; 2581 2582 DO I=1 TO DIM(NMPMTI); 2583 2584 %TERMCON(NPMT=NMPMTI{I},NYR=NMYRI{I},NMO=TLMTHI{I},PFREQ=REGPAYFI{I},PMT=REGPAYI{I}, 2585 TPER=TYPAYFI{I}); 2586 IF (REGPAYI{I} > 0) THEN DO; 2587 %MOCONV(AMT=REGPAYI{I},MOAMT=CMOPAYI{I},PER=REGPAYFI{I},IML=NO,YEAR8=YES); 2588 END; 2589 ELSE DO; 2590 %MOCONV(AMT=TYPAYI{I},MOAMT=CMOPAYI{I},PER=TYPAYFI{I},IML=NO,YEAR8=YES); 2591 END; 2592 IF NMYRI{I} NOT IN (0 -1 -7) THEN DO; 2593 PAYLFTI{I}=(TLMTHI{I}-((&SYEAR-LNSTYRI{I})*12)); 2594 LNAGEI{I}=TLMTHI{I}-PAYLFTI{I}; 2595 END; 2596 ELSE DO; 2597 PAYLFTI{I}=0; 2598 LNAGEI{I}=0; 2599 END; 2600 END; 2601 2602 DO I=1 TO MIN(6,X2709); 2603 IF (LNTYPE{I} IN(76 78 79) & BUSLN{I} IN(0 5 8)) THEN DO; 2604 * indicator and counter of qualified loans; 2605 QUALN{I}=1; 2606 QUALOANINV=QUALOANINV+QUALN{I}; 2607 IF (NMYRI{I} NOT IN(0 -1 -7) & INTRATEI{I}^=-1) THEN DO; 2608 IF (TLMTHI{I} > 0 & CMOPAYI{I} > 0 & PAYLFTI{I} > 0) THEN DO; 2609 * a fix for payments reported as yearly that appear to be monthly; 2610 * IF (CMOPAYI{I} < AMTBORRI{I}*.005) THEN CMOPAYI{I}=MAX(REGPAYI{I},TYPAYI{I}); 2611 AMTOWEI{I}=CMOPAYI{I}*((1-1/(1+(INTRATEI{I}/10000)/12)**PAYLFTI{I})/ 2612 ((INTRATEI{I}/10000)/12)); 2613 AMTOWE_1I{I}=CMOPAYI{I}*((1-1/(1+(INTRATEI{I}/10000)/12)**(PAYLFTI{I}+12))/ 2614 ((INTRATEI{I}/10000)/12)); 2615 IF LNSTYRI{I}^=&SYEAR THEN AINTEXPI{I}=(CMOPAYI{I}*12)-(AMTOWE_1I{I}-AMTOWEI{I}); 2616 ELSE IF LNSTYRI{I}=&SYEAR THEN AINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 2617 END; 2618 ELSE IF (TLMTHI{I} < 0 | CMOPAYI{I} < 0 | PAYLFTI{I} < 0) THEN DO; 2619 AMTOWEI{I}=0; 2620 AMTOWE_1I{I}=0; 2621 AINTEXPI{I}=0; 2622 END; 2623 IF (TLMTHI{I} > 0 & AMTBORRI{I} > 0 & LNAGEI{I} > 0) THEN DO; 47 The SAS System 10:41 Monday, May 31, 2021 2624 CURBALI{I}=AMTBORRI{I}*(((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})- 2625 ((1+(INTRATEI{I}/10000)/12)**(LNAGEI{I})))/ 2626 (((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})-1); 2627 CURBAL_1I{I}=AMTBORRI{I}*(((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})- 2628 ((1+(INTRATEI{I}/10000)/12)**(LNAGEI{I}-12)))/ 2629 (((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})-1); 2630 CINTEXPI{I}=(CMOPAYI{I}*12)-(CURBAL_1I{I}-CURBALI{I}); 2631 END; 2632 ELSE IF (TLMTHI{I} < 0 | AMTBORRI{I} < 0 | LNAGEI{I} < 0) THEN DO; 2633 CURBALI{I}=0; 2634 CURBAL_1I{I}=0; 2635 CINTEXPI{I}=0; 2636 END; 2637 IF (AMTOUTI{I} > 0 & INTRATEI{I} > 0) THEN 2638 SINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 2639 ELSE SINTEXPI{I}=0; 2640 2641 * Also fixing cases where loan ends or starts in the survey year. 2642 Setting interest expense to amount outstanding for year prior 2643 to the survey times the interest rate for loans ending in the 2644 survey year. For cases where the loan starts in the survey year, 2645 set the interest expense to zero.; 2646 IF (TLMTHI{I} > 0 & CMOPAYI{I} > 0 & PAYLFTI{I}=0) THEN DO; 2647 CINTEXPI{I}=CURBAL_1I{I}*(INTRATEI{I}/10000); 2648 AINTEXPI{I}=CINTEXPI{I}; 2649 END; 2650 IF (TLMTHI{I} > 0 & CMOPAYI{I} > 0 & LNSTYRI{I}=&SYEAR) THEN DO; 2651 CINTEXPI{I}=0; 2652 AINTEXPI{I}=0; 2653 SINTEXPI{I}=0; 2654 END; 2655 2656 * Ad hoc fix for negative interest expenses. Basically sets the 2657 interest deduction equal to curball1_1 times the interest rate if 2658 curball1 and curball1_1 are positive, otherwise the interest 2659 expense equals the reported amount outstanding times the interest 2660 rate.; 2661 IF ((AINTEXPI{I} < 0 | CINTEXPI{I} < 0) & CURBALI{I} > 0 & 2662 CURBAL_1I{I} > 0) THEN DO; 2663 CINTEXPI{I}=CURBAL_1I{I}*(INTRATEI{I}/10000); 2664 AINTEXPI{I}=CINTEXPI{I}; 2665 END; 2666 ELSE IF ((AINTEXPI{I} < 0 | CINTEXPI{I} < 0) & (CURBALI{I} <= 0 & 2667 CURBAL_1I{I} <= 0)) THEN DO; 2668 CINTEXPI{I}=SINTEXPI{I}; 2669 AINTEXPI{I}=SINTEXPI{I}; 2670 END; 2671 2672 IF (SINTEXPI{I} > 0 & CINTEXPI{I} > 0) THEN 2673 DCTDIFFI{I}=CINTEXPI{I}-SINTEXPI{I}; 2674 ELSE DCTDIFFI{I}=0; 2675 END; 2676 * Added an extra provision here for loans that are not regualar 2677 installment loans. If the loan is a other kind of loan, just 2678 using the amount outstanding times the interest rate as 2679 interest expense.; 2680 ELSE IF (NMYRI{I} IN(-1 -7) & NMPMTI{I} IN(-1 -7) 2681 & AMTOUTI{I} > 0 & INTRATEI{I} > 0) | (CMOPAYI{I} > 0 & 48 The SAS System 10:41 Monday, May 31, 2021 2682 INTRATEI{I} > 0 & TLMTHI{I}=0 & AMTOUTI{I} > 0) THEN DO; 2683 SINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 2684 AINTEXPI{I}=SINTEXPI{I}; 2685 CINTEXPI{I}=SINTEXPI{I}; 2686 END; 2687 ELSE IF (INTRATEI{I}=-1) THEN DO; 2688 AINTEXPI{I}=0; 2689 CINTEXPI{I}=0; 2690 SINTEXPI{I}=0; 2691 END; 2692 2693 2694 * Averaging across the three measures of interest expense; 2695 IF ((CINTEXPI{I} + AINTEXPI{I} + SINTEXPI{I}) > 0) THEN DO; 2696 AVINTEXPI{I}=(CINTEXPI{I}+AINTEXPI{I}+SINTEXPI{I})/3; 2697 END; 2698 ELSE AVINTEXPI{I}=0; 2699 2700 * Constraining interest expense amount to be no more than the reported year 2701 loan payment - using avintdedct as prefered interest expense 2702 measure. Also putting in a fix for cases were the interest 2703 deduction is more than 25 percent of the current amount 2704 outstanding. If this is the case then the use the simple interest deduction.; 2705 IF (AVINTEXPI{I} > 0 & CMOPAYI{I} > 0 2706 & (AVINTEXPI{I} > CMOPAYI{I}*12)) THEN DO; 2707 AVINTEXPI{I}=CMOPAYI{I}*12; 2708 CINTEXPI{I}=AVINTEXPI{I}; 2709 AINTEXPI{I}=AVINTEXPI{I}; 2710 SINTEXPI{I}=AVINTEXPI{I}; 2711 END; 2712 IF (AVINTEXPI{I} > 0 & AMTOUTI{I} > 0 & 2713 (AVINTEXPI{I} > .25*AMTOUTI{I})) THEN DO; 2714 AVINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 2715 CINTEXPI{I}=AVINTEXPI{I}; 2716 AINTEXPI{I}=AVINTEXPI{I}; 2717 END; 2718 2719 IF (Y1=YY1*10+1 & (AVINTEXPI{I} > .25*AMTOUTI{I})) THEN PUT 2720 "DEDUCTION LARGER THAN 25% OF BALANCE OUTSTANDING " 2721 Y1= NMPMTI{I}= NMYRI{I}= TLMTHI{I}= 2722 REGPAYFI{I}= REGPAYI{I}= CMOPAYI{I}= TYPAYI{I}= TYPAYFI{I}= LNSTYRI{I}= 2723 PAYLFTI{I}= LNAGEI{I}= AMTOUTI{I}= JAMTOUTI{I}= AMTOWEI{I}= AMTOWE_1I{I}= 2724 AINTEXPI{I}= CURBALI{I}= CURBAL_1I{I}= CINTEXPI{I}= DCTDIFFI{I}= SINTEXPI{I}= 2725 AVINTEXPI{I}= INTRATEI{I}= AMTBORRI{I}= JAMTBORRI{I}= 2726 ONSCHEDI{I}= LNTYPE{I}= /; 2727 2728 * Compute loan investment interest expense; 2729 TOTLNINVEX=TOTLNINVEX+AVINTEXPI{I}; 2730 END; 2731 END; 2732 2733 * Total investment interest expense, if investment interest expense 2734 is greater than interest/dividend income, then expense is limited to 2735 income amount; 2736 TOTINTINC=X5708+X5710; 2737 TOTINVEX=0; 2738 TOTINVEX=TOTLOCINVEX+TOTINVPDCT+TOTLNINVEX; 2739 IF TOTINVEX > 0 THEN HINVEX=1; 49 The SAS System 10:41 Monday, May 31, 2021 2740 ELSE HINVEX=0; 2741 IF TOTINVEX > TOTINTINC & Y1=YY1*10+1 THEN PUT 2742 "TOO MUCH INVESTMENT INTEREST EXPENSES " Y1= TOTINVEX= TOTLOCINVEX= 2743 TOTINVPDCT= TOTLNINVEX= TOTINTINC=/; 2744 IF (TOTINVEX > TOTINTINC) THEN TOTINVEX=TOTINTINC; 2745 2746 2747 * In 1988, 40% of personal interest is deductible, this includes 2748 credit cards, car/other vehicle loans, other consumer loans, loans against 2749 life insurance policies, home improvement loans, and non-HELOC 2750 LOCs.; 2751 %IF &SYEAR EQ 1989 %THEN %DO; 2752 * Credit cards - although we do not have interest rate info, assume 2753 17.8% interest rate and pro-rate deduction based on the payment 2754 question (x432). If hh almost always pays balance, then deduction 2755 is balance still owed on all cards multiplied by .178/12. For 2756 sometimes pays balance, deduction is balance still owed multiplied 2757 by .178/6, for hardly ever pays balance, deduction is balance still 2758 owed multiplied by .178; 2759 * 17.8% interest rate taken from Federal Reserve Bulletin; 2760 TOTCCBAL=MAX(0,(X413+X421+X424+X427+X430)); 2761 CCPINEX=0; 2762 2763 IF (X410=1 & TOTCCBAL > 0) THEN DO; 2764 IF (X432=1) THEN CCPINEX=TOTCCBAL*(.178/12); 2765 ELSE IF (X432=3) THEN CCPINEX=TOTCCBAL*(.178/6); 2766 ELSE IF (X432=5) THEN CCPINEX=TOTCCBAL*(.178); 2767 END; 2768 2769 2770 * Car/other vehicle and home improvement loans, using code similar to 2771 other loan investment interest deduction computations; 2772 ARRAY TLMTHC {*} TLMTHC1 TLMTHC2 TLMTHC3 TLMTHC4 TLMTHC5 TLMTHC6 TLMTHC7; 2773 ARRAY CMOPAYC {*} CMOPAYC1 CMOPAYC2 CMOPAYC3 CMOPAYC4 CMOPAYC5 2774 CMOPAYC6 CMOPAYC7; 2775 ARRAY PAYLFTC {*} PAYLFTC1 PAYLFTC2 PAYLFTC3 PAYLFTC4 PAYLFTC5 2776 PAYLFTC6 PAYLFTC7; 2777 ARRAY AMTOWEC {*} AMTOWEC1 AMTOWEC2 AMTOWEC3 AMTOWEC4 AMTOWEC5 2778 AMTOWEC6 AMTOWEC7; 2779 ARRAY AMTOWE_1C {*} AMTOWE_1C1 AMTOWE_1C2 AMTOWE_1C3 AMTOWE_1C4 2780 AMTOWE_1C5 AMTOWE_1C6 AMTOWE_1C7; 2781 ARRAY AINTEXPC {*} AINTEXPC1 AINTEXPC2 AINTEXPC3 AINTEXPC4 2782 AINTEXPC5 AINTEXPC6 AINTEXPC7; 2783 ARRAY LNAGEC {*} LNAGEC1 LNAGEC2 LNAGEC3 LNAGEC4 LNAGEC5 LNAGEC6 LNAGEC7; 2784 ARRAY QUALNC {*} QUALNC1 QUALNC2 QUALNC3 QUALNC4 QUALNC5 QUALNC6 QUALNC7; 2785 ARRAY CURBALC {*} CURBALC1 CURBALC2 CURBALC3 URBALC4 CURBALC5 2786 CURBALC6 CURBALC7; 2787 ARRAY CURBAL_1C {*} CURBAL_1C1 CURBAL_1C2 CURBAL_1C3 CURBAL_1C4 2788 CURBAL_1C5 CURBAL_1C6 CURBAL_1C7; 2789 ARRAY CINTEXPC {*} CINTEXPC1 CINTEXPC2 CINTEXPC3 CINTEXPC4 CINTEXPC5 2790 CINTEXPC6 CINTEXPC7; 2791 ARRAY DCTDIFFC {*} DCTDIFFC1 DCTDIFFC2 DCTDIFFC3 DCTDIFFC4 DCTDIFFC5 2792 DCTDIFFC6 DCTDIFFC7; 2793 ARRAY SINTEXPC {*} SINTEXPC1 SINTEXPC2 SINTEXPC3 SINTEXPC4 SINTEXPC5 2794 SINTEXPC6 SINTEXPC7; 2795 ARRAY AVINTEXPC {*} AVINTEXPC1 AVINTEXPC2 AVINTEXPC3 AVINTEXPC4 2796 AVINTEXPC5 AVINTEXPC6 AVINTEXPC7; 2797 ARRAY NMPMTC {*} X1037 X1208 X2211 X2311 X2411 X2512 X2612; 50 The SAS System 10:41 Monday, May 31, 2021 2798 ARRAY NMYRC {*} X1038 X1209 X2212 X2312 X2412 X2513 X2613; 2799 ARRAY REGPAYFC {*} REGPYFC1 REGPYFC2 REGPYFC3 REGPYFC4 REGPYFC5 2800 REGPYFC6 REGPYFC7; 2801 ARRAY REGPAYC {*} X1039 X1210 X2213 X2313 X2413 X2514 X2614; 2802 ARRAY TYPAYFC {*} X1041 X1212 X2215 X2315 X2415 X2516 X2616; 2803 ARRAY TYPAYC {*} X1040 X1211 X2214 X2314 X2414 X2515 X2615; 2804 ARRAY LNSTYRC {*} X1034 X1205 X2208 X2308 X2408 X2509 X2609; 2805 ARRAY AMTBORRC {*} X1035 X1206 X2209 X2309 X2409 X2510 X2610; 2806 ARRAY JAMTBORRC {*} J1035 J1206 J2209 J2309 J2409 J2510 J2610; 2807 ARRAY AMTOUTC {*} X1044 X1215 X2218 X2318 X2418 X2519 X2619; 2808 ARRAY JAMTOUTC {*} J1044 J1215 J2218 J2318 J2418 J2519 J2619; 2809 ARRAY INTRATEC {*} X1045 X1216 X2219 X2319 X2419 X2520 X2620; 2810 ARRAY HAVELNC {*} X1032 X1203 X2206 X2306 X2406 X2507 X2607; 2811 ARRAY REGLNC {*} X1036 X1207 X2210 X2310 X2410 X2511 X2611; 2812 2813 * Initialize some variables; 2814 DO I=1 TO DIM(TLMTHC); 2815 TLMTHC{I}=0; 2816 CMOPAYC{I}=0; 2817 PAYLFTC{I}=0; 2818 AMTOWEC{I}=0; 2819 AMTOWE_1C{I}=0; 2820 AINTEXPC{I}=0; 2821 LNAGEC{I}=0; 2822 CURBALC{I}=0; 2823 CURBAL_1C{I}=0; 2824 CINTEXPC{I}=0; 2825 DCTDIFFC{I}=0; 2826 SINTEXPC{I}=0; 2827 AVINTEXPC{I}=0; 2828 QUALNC{I}=0; 2829 * frequency of regular payment question not asked for car/vehicle/HI loans, it 2830 is assumed to be monthly; 2831 REGPAYFC{I}=4; 2832 * A fix for length of loan, this variable is not in the public 2833 dataset, and missing values exist in the internal dataset - just 2834 setting the value to inap. It seems from inspecting the data that 2835 any loan with a missing value for the length has a zero interest rate.; 2836 IF NMYRC{I} < -1 THEN NMYRC{I}=0; 2837 END; 2838 2839 TOTLNPINEXC=0; 2840 QUALNPINEXC=0; 2841 2842 DO I=1 TO DIM(NMPMTC); 2843 2844 %TERMCON(NPMT=NMPMTC{I},NYR=NMYRC{I},NMO=TLMTHC{I},PFREQ=REGPAYFC{I},PMT=REGPAYC{I}, 2845 TPER=TYPAYFC{I}); 2846 IF (REGPAYC{I} > 0) THEN DO; 2847 %MOCONV(AMT=REGPAYC{I},MOAMT=CMOPAYC{I},PER=REGPAYFC{I},IML=NO,YEAR8=YES); 2848 END; 2849 ELSE DO; 2850 %MOCONV(AMT=TYPAYC{I},MOAMT=CMOPAYC{I},PER=TYPAYFC{I},IML=NO,YEAR8=YES); 2851 END; 2852 IF NMYRC{I} NOT IN (0 -1 -7) THEN DO; 2853 PAYLFTC{I}=(TLMTHC{I}-((1989-LNSTYRC{I})*12)); 2854 LNAGEC{I}=TLMTHC{I}-PAYLFTC{I}; 2855 END; 51 The SAS System 10:41 Monday, May 31, 2021 2856 ELSE DO; 2857 PAYLFTC{I}=0; 2858 LNAGEC{I}=0; 2859 END; 2860 END; 2861 2862 2863 DO I=1 TO DIM(HAVELNC); 2864 IF (HAVELNC{I}=1) THEN DO; 2865 QUALNC{I}=1; 2866 QUALNPINEXC=QUALNPINEXC+QUALNC{I}; 2867 IF (NMYRC{I} NOT IN(0 -1 -7) & INTRATEC{I}^=-1) THEN DO; 2868 IF (TLMTHC{I} > 0 & CMOPAYC{I} > 0 & PAYLFTC{I} > 0) THEN DO; 2869 * a fix for payments reported as yearly that appear to be monthly; 2870 IF (CMOPAYC{I} < AMTBORRC{I}*.005) THEN CMOPAYC{I}=MAX(REGPAYC{I},TYPAYC{I}); 2871 AMTOWEC{I}=CMOPAYC{I}*((1-1/(1+(INTRATEC{I}/10000)/12)**PAYLFTC{I})/ 2872 ((INTRATEC{I}/10000)/12)); 2873 AMTOWE_1C{I}=CMOPAYC{I}*((1-1/(1+(INTRATEC{I}/10000)/12)**(PAYLFTC{I}+12))/ 2874 ((INTRATEC{I}/10000)/12)); 2875 IF LNSTYRC{I}^=1989 THEN AINTEXPC{I}=(CMOPAYC{I}*12)-(AMTOWE_1C{I}-AMTOWEC{I}); 2876 ELSE IF LNSTYRC{I}=1989 THEN AINTEXPC{I}=AMTOUTC{I}*(INTRATEC{I}/10000); 2877 END; 2878 ELSE IF (TLMTHC{I} < 0 | CMOPAYC{I} < 0 | PAYLFTC{I} < 0) THEN DO; 2879 AMTOWEC{I}=0; 2880 AMTOWE_1C{I}=0; 2881 AINTEXPC{I}=0; 2882 END; 2883 IF (TLMTHC{I} > 0 & AMTBORRC{I} > 0 & LNAGEC{I} > 0) THEN DO; 2884 CURBALC{I}=AMTBORRC{I}*(((1+(INTRATEC{I}/10000)/12)**TLMTHC{I})- 2885 ((1+(INTRATEC{I}/10000)/12)**(LNAGEC{I})))/ 2886 (((1+(INTRATEC{I}/10000)/12)**TLMTHC{I})-1); 2887 CURBAL_1C{I}=AMTBORRC{I}*(((1+(INTRATEC{I}/10000)/12)**TLMTHC{I})- 2888 ((1+(INTRATEC{I}/10000)/12)**(LNAGEC{I}-12)))/ 2889 (((1+(INTRATEC{I}/10000)/12)**TLMTHC{I})-1); 2890 CINTEXPC{I}=(CMOPAYC{I}*12)-(CURBAL_1C{I}-CURBALC{I}); 2891 END; 2892 ELSE IF (TLMTHC{I} < 0 | AMTBORRC{I} < 0 | LNAGEC{I} < 0) THEN DO; 2893 CURBALC{I}=0; 2894 CURBAL_1C{I}=0; 2895 CINTEXPC{I}=0; 2896 END; 2897 IF (AMTOUTC{I} > 0 & INTRATEC{I} > 0) THEN 2898 SINTEXPC{I}=AMTOUTC{I}*(INTRATEC{I}/10000); 2899 ELSE SINTEXPC{I}=0; 2900 2901 * Also fixing cases where loan ends or starts in the survey year. 2902 Setting interest deduction to amount outstanding for year prior 2903 to the survey times the interest rate for loans ending in the 2904 survey year. For cases where the loan starts in the survey year, 2905 set the interest expense to zero; 2906 IF (TLMTHC{I} > 0 & CMOPAYC{I} > 0 & PAYLFTC{I}=0) THEN DO; 2907 CINTEXPC{I}=CURBAL_1C{I}*(INTRATEC{I}/10000); 2908 AINTEXPC{I}=CINTEXPC{I}; 2909 END; 2910 IF (TLMTHC{I} > 0 & CMOPAYC{I} > 0 & LNSTYRC{I}=1989) THEN DO; 2911 CINTEXPC{I}=0; 2912 AINTEXPC{I}=0; 2913 SINTEXPC{I}=0; 52 The SAS System 10:41 Monday, May 31, 2021 2914 END; 2915 2916 * Ad hoc fix for negative personal interest deduction. Basically sets the 2917 interest deduction equal to curball1_1 times the interest rate if 2918 curball1 and curball1_1 are positive, otherwise the interest 2919 deduction equals the reported amount outstanding times the interest 2920 rate.; 2921 IF ((AINTEXPC{I} < 0 | CINTEXPC{I} < 0) & CURBALC{I} > 0 & 2922 CURBAL_1C{I} > 0) THEN DO; 2923 CINTEXPC{I}=CURBAL_1C{I}*(INTRATEC{I}/10000); 2924 AINTEXPC{I}=CINTEXPC{I}; 2925 END; 2926 ELSE IF ((AINTEXPC{I} < 0 | CINTEXPC{I} < 0) & (CURBALC{I} <= 0 & 2927 CURBAL_1C{I} <= 0)) THEN DO; 2928 CINTEXPC{I}=SINTEXPC{I}; 2929 AINTEXPC{I}=SINTEXPC{I}; 2930 END; 2931 2932 IF (SINTEXPC{I} > 0 & CINTEXPC{I} > 0) THEN 2933 DCTDIFFC{I}=CINTEXPC{I}-SINTEXPC{I}; 2934 ELSE DCTDIFFC{I}=0; 2935 END; 2936 * Added an extra provision here for loans that are not regualar 2937 installment loans. If the loan is a other kind of loan, just 2938 using the amount outstanding times the interest rate as 2939 interest deduction.; 2940 ELSE IF (NMYRC{I} IN(-1 -7) & NMPMTC{I} IN(-1 -7) 2941 & AMTOUTC{I} > 0 & INTRATEC{I} > 0) | (CMOPAYC{I} > 0 & 2942 INTRATEC{I} > 0 & TLMTHC{I}=0 & AMTOUTC{I} > 0) THEN DO; 2943 SINTEXPC{I}=AMTOUTC{I}*(INTRATEC{I}/10000); 2944 AINTEXPC{I}=SINTEXPC{I}; 2945 CINTEXPC{I}=SINTEXPC{I}; 2946 END; 2947 ELSE IF (INTRATEC{I}=-1) THEN DO; 2948 AINTEXPC{I}=0; 2949 CINTEXPC{I}=0; 2950 SINTEXPC{I}=0; 2951 END; 2952 2953 2954 * Averaging across the three measures of personal interest deduction; 2955 IF ((CINTEXPC{I} + AINTEXPC{I} + SINTEXPC{I}) > 0) THEN DO; 2956 AVINTEXPC{I}=(CINTEXPC{I}+AINTEXPC{I}+SINTEXPC{I})/3; 2957 END; 2958 ELSE AVINTEXPC{I}=0; 2959 2960 * Constraining personal interest deduction amount to be no more 2961 than the reported year loan payment - using avintdedct as 2962 prefered personal interest deduction measure. Also putting in a 2963 fix for cases were the interest deduction is more than 25 2964 percent of the current amount outstanding. If this is the case 2965 then the use the simple interest deduction.; 2966 IF (AVINTEXPC{I} > 0 & CMOPAYC{I} > 0 2967 & (AVINTEXPC{I} > CMOPAYC{I}*12)) THEN DO; 2968 AVINTEXPC{I}=CMOPAYC{I}*12; 2969 CINTEXPC{I}=AVINTEXPC{I}; 2970 AINTEXPC{I}=AVINTEXPC{I}; 2971 SINTEXPC{I}=AVINTEXPC{I}; 53 The SAS System 10:41 Monday, May 31, 2021 2972 END; 2973 IF (AVINTEXPC{I} > 0 & AMTOUTC{I} > 0 & 2974 (AVINTEXPC{I} > .25*AMTOUTC{I})) THEN DO; 2975 AVINTEXPC{I}=AMTOUTC{I}*(INTRATEC{I}/10000); 2976 CINTEXPC{I}=AVINTEXPC{I}; 2977 AINTEXPC{I}=AVINTEXPC{I}; 2978 END; 2979 2980 IF (Y1=YY1*10+1 & AVINTEXPC{I} > .25*AMTOUTC{I}) THEN PUT 2981 "DEDUCTION LARGER THAN 25% OF BALANCE OUTSTANDING " 2982 Y1= NMPMTC{I}= NMYRC{I}= TLMTHC{I}= 2983 REGPAYFC{I}= REGPAYC{I}= CMOPAYC{I}= TYPAYC{I}= TYPAYFC{I}= LNSTYRC{I}= 2984 PAYLFTC{I}= LNAGEC{I}= AMTOUTC{I}= JAMTOUTC{I}= AMTOWEC{I}= AMTOWE_1C{I}= 2985 AINTEXPC{I}= CURBALC{I}= CURBAL_1C{I}= CINTEXPC{I}= DCTDIFFC{I}= SINTEXPC{I}= 2986 AVINTEXPC{I}= INTRATEC{I}= AMTBORRC{I}= JAMTBORRC{I}= /; 2987 2988 * Compute car/vehicle/HI personal interest deduction; 2989 TOTLNPINEXC=TOTLNPINEXC+AVINTEXPC{I}; 2990 END; 2991 END; 2992 2993 * Non-HELOC lines of credit, using same code as for LOCs deductible 2994 under investment interest expense; 2995 TOTLOCPINEX=0; 2996 2997 IF (X1101=1) THEN DO; 2998 DO I=1 TO DIM(SBYHOME); 2999 IF (SBYHOME{I}=5 & DOOWE{I}=1 & LNPURP{I} NOT IN(76 78 79)) THEN DO; 3000 IF (TYPAYL{I} > 0) THEN DO; 3001 %MOCONV(AMT=TYPAYL{I},MOAMT=CMOPAYL{I},PER=TYPAYLF{I},IML=NO,YEAR8=YES); 3002 END; 3003 ELSE IF (TYPAYL{I} IN(0 -1 -2)) THEN DO; 3004 CMOPAYL{I}=0; 3005 END; 3006 IF (INTRATEL{I} > 0) THEN DO; 3007 SINTDCTL{I}=((INTRATEL{I}/10000)*AMTOUTL{I}); 3008 END; 3009 ELSE IF (INTRATEL{I} IN(0 -1)) THEN DO; 3010 SINTDCTL{I}=0; 3011 END; 3012 IF (SINTDCTL{I} > 0 & CMOPAYL{I} > 0 & SINTDCTL{I} > CMOPAYL{I}*12) THEN DO; 3013 SINTDCTL{I}=CMOPAYL{I}*12; 3014 END; 3015 TOTLOCPINEX=TOTLOCPINEX+SINTDCTL{I}; 3016 END; 3017 END; 3018 END; 3019 3020 * Other consumer loans, using the code for other loans from the 3021 investment interest expense computations; 3022 QUALNPINEXI=0; 3023 TOTLNPINEXI=0; 3024 3025 DO I=1 TO MIN(6,X2709); 3026 IF (LNTYPE{I} NOT IN(76 78 79)) THEN DO; 3027 * indicator and counter of qualified loans; 3028 QUALN{I}=1; 3029 QUALNPINEXI=QUALNPINEXI+QUALN{I}; 54 The SAS System 10:41 Monday, May 31, 2021 3030 IF (NMYRI{I} NOT IN(0 -1 -7) & INTRATEI{I}^=-1) THEN DO; 3031 IF (TLMTHI{I} > 0 & CMOPAYI{I} > 0 & PAYLFTI{I} > 0) THEN DO; 3032 * a fix for payments reported as yearly that appear to be monthly; 3033 IF (CMOPAYI{I} < AMTBORRI{I}*.005) THEN CMOPAYI{I}=MAX(REGPAYI{I},TYPAYI{I}); 3034 AMTOWEI{I}=CMOPAYI{I}*((1-1/(1+(INTRATEI{I}/10000)/12)**PAYLFTI{I})/ 3035 ((INTRATEI{I}/10000)/12)); 3036 AMTOWE_1I{I}=CMOPAYI{I}*((1-1/(1+(INTRATEI{I}/10000)/12)**(PAYLFTI{I}+12))/ 3037 ((INTRATEI{I}/10000)/12)); 3038 IF LNSTYRI{I}^=1989 THEN AINTEXPI{I}=(CMOPAYI{I}*12)-(AMTOWE_1I{I}-AMTOWEI{I}); 3039 ELSE IF LNSTYRI{I}=1989 THEN AINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 3040 END; 3041 ELSE IF (TLMTHI{I} < 0 | CMOPAYI{I} < 0 | PAYLFTI{I} < 0) THEN DO; 3042 AMTOWEI{I}=0; 3043 AMTOWE_1I{I}=0; 3044 AINTEXPI{I}=0; 3045 END; 3046 IF (TLMTHI{I} > 0 & AMTBORRI{I} > 0 & LNAGEI{I} > 0) THEN DO; 3047 CURBALI{I}=AMTBORRI{I}*(((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})- 3048 ((1+(INTRATEI{I}/10000)/12)**(LNAGEI{I})))/ 3049 (((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})-1); 3050 CURBAL_1I{I}=AMTBORRI{I}*(((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})- 3051 ((1+(INTRATEI{I}/10000)/12)**(LNAGEI{I}-12)))/ 3052 (((1+(INTRATEI{I}/10000)/12)**TLMTHI{I})-1); 3053 CINTEXPI{I}=(CMOPAYI{I}*12)-(CURBAL_1I{I}-CURBALI{I}); 3054 END; 3055 ELSE IF (TLMTHI{I} < 0 | AMTBORRI{I} < 0 | LNAGEI{I} < 0) THEN DO; 3056 CURBALI{I}=0; 3057 CURBAL_1I{I}=0; 3058 CINTEXPI{I}=0; 3059 END; 3060 IF (AMTOUTI{I} > 0 & INTRATEI{I} > 0) THEN 3061 SINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 3062 ELSE SINTEXPI{I}=0; 3063 3064 * Also fixing cases where loan ends or starts in the survey year. 3065 Setting interest deduction to amount outstanding for year prior 3066 to the survey times the interest rate for loans ending in the 3067 survey year. For cases where the loan starts in the survey year, 3068 set the interest expense to zero; 3069 IF (TLMTHI{I} > 0 & CMOPAYI{I} > 0 & PAYLFTI{I}=0) THEN DO; 3070 CINTEXPI{I}=CURBAL_1I{I}*(INTRATEI{I}/10000); 3071 AINTEXPI{I}=CINTEXPI{I}; 3072 END; 3073 IF (TLMTHI{I} > 0 & CMOPAYI{I} > 0 & LNSTYRI{I}=1989) THEN DO; 3074 CINTEXPI{I}=0; 3075 AINTEXPI{I}=0; 3076 SINTEXPI{I}=0; 3077 END; 3078 3079 * Ad hoc fix for negative personal interest deduction. Basically sets the 3080 interest deduction equal to curball1_1 times the interest rate if 3081 curball1 and curball1_1 are positive, otherwise the interest 3082 deduction equals the reported amount outstanding times the interest 3083 rate.; 3084 IF ((AINTEXPI{I} < 0 | CINTEXPI{I} < 0) & CURBALI{I} > 0 & 3085 CURBAL_1I{I} > 0) THEN DO; 3086 CINTEXPI{I}=CURBAL_1I{I}*(INTRATEI{I}/10000); 3087 AINTEXPI{I}=CINTEXPI{I}; 55 The SAS System 10:41 Monday, May 31, 2021 3088 END; 3089 ELSE IF ((AINTEXPI{I} < 0 | CINTEXPI{I} < 0) & (CURBALI{I} <= 0 & 3090 CURBAL_1I{I} <= 0)) THEN DO; 3091 CINTEXPI{I}=SINTEXPI{I}; 3092 AINTEXPI{I}=SINTEXPI{I}; 3093 END; 3094 3095 IF (SINTEXPI{I} > 0 & CINTEXPI{I} > 0) THEN 3096 DCTDIFFI{I}=CINTEXPI{I}-SINTEXPI{I}; 3097 ELSE DCTDIFFI{I}=0; 3098 END; 3099 * Added an extra provision here for loans that are not regualar 3100 installment loans. If the loan is a other kind of loan, just 3101 using the amount outstanding times the interest rate as 3102 interest deduction.; 3103 ELSE IF (NMYRI{I} IN(-1 -7) & NMPMTI{I} IN(-1 -7) 3104 & AMTOUTI{I} > 0 & INTRATEI{I} > 0) | (CMOPAYI{I} > 0 & 3105 INTRATEI{I} > 0 & TLMTHI{I}=0 & AMTOUTI{I} > 0) THEN DO; 3106 SINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 3107 AINTEXPI{I}=SINTEXPI{I}; 3108 CINTEXPI{I}=SINTEXPI{I}; 3109 END; 3110 ELSE IF (INTRATEI{I}=-1) THEN DO; 3111 AINTEXPI{I}=0; 3112 CINTEXPI{I}=0; 3113 SINTEXPI{I}=0; 3114 END; 3115 3116 3117 * Averaging across the three measures of personal interest deduction; 3118 IF ((CINTEXPI{I} + AINTEXPI{I} + SINTEXPI{I}) > 0) THEN DO; 3119 AVINTEXPI{I}=(CINTEXPI{I}+AINTEXPI{I}+SINTEXPI{I})/3; 3120 END; 3121 ELSE AVINTEXPI{I}=0; 3122 3123 * Constraining personal interest deduction amount to be no more 3124 than the reported year loan payment - using avintdedct as 3125 prefered personal interest deduction measure. Also putting in a 3126 fix for cases were the interest deduction is more than 25 3127 percent of the current amount outstanding. If this is the case 3128 then the use the simple interest deduction.; 3129 IF (AVINTEXPI{I} > 0 & CMOPAYI{I} > 0 3130 & (AVINTEXPI{I} > CMOPAYI{I}*12)) THEN DO; 3131 AVINTEXPI{I}=CMOPAYI{I}*12; 3132 CINTEXPI{I}=AVINTEXPI{I}; 3133 AINTEXPI{I}=AVINTEXPI{I}; 3134 SINTEXPI{I}=AVINTEXPI{I}; 3135 END; 3136 IF (AVINTEXPI{I} > 0 & AMTOUTI{I} > 0 & 3137 (AVINTEXPI{I} > .25*AMTOUTI{I})) THEN DO; 3138 AVINTEXPI{I}=AMTOUTI{I}*(INTRATEI{I}/10000); 3139 CINTEXPI{I}=AVINTEXPI{I}; 3140 AINTEXPI{I}=AVINTEXPI{I}; 3141 END; 3142 3143 IF (Y1=YY1*10+1 & (AVINTEXPI{I} > .25*AMTOUTI{I})) THEN PUT 3144 "DEDUCTION LARGER THAN 25% OF BALANCE OUTSTANDING " 3145 Y1= NMPMTI{I}= NMYRI{I}= TLMTHI{I}= 56 The SAS System 10:41 Monday, May 31, 2021 3146 REGPAYFI{I}= REGPAYI{I}= CMOPAYI{I}= TYPAYI{I}= TYPAYFI{I}= LNSTYRI{I}= 3147 PAYLFTI{I}= LNAGEI{I}= AMTOUTI{I}= JAMTOUTI{I}= AMTOWEI{I}= AMTOWE_1I{I}= 3148 AINTEXPI{I}= CURBALI{I}= CURBAL_1I{I}= CINTEXPI{I}= DCTDIFFI{I}= SINTEXPI{I}= 3149 AVINTEXPI{I}= INTRATEI{I}= AMTBORRI{I}= JAMTBORRI{I}= 3150 LNTYPE{I}= /; 3151 3152 * Compute other loans personal interest deduction; 3153 TOTLNPINEXI=TOTLNPINEXI+AVINTEXPI{I}; 3154 END; 3155 END; 3156 3157 * Loans against whole life insurance policies - these loans must not 3158 be recorded elsewhere in the data. Check that interest deduction 3159 is not greater than yearly payment on the loan. If it is, then 3160 deduction amount equals the annual payment; 3161 LIFEINSINEX=0; 3162 LIPAYM=0; 3163 IF (X4001=1 & X4004=1 & X4007=1 & X4009=5) THEN DO; 3164 LIFEINSINEX=MAX(0,(X4010)*(X4013/10000)); 3165 %MOCONV(AMT=X4011,MOAMT=LIPAYM,PER=X4012,IML=NO,YEAR8=YES); 3166 IF (LIPAYM > 0) & (LIFEINSINEX > (LIPAYM*12)) THEN 3167 LIFEINSINEX=(LIPAYM*12); 3168 END; 3169 3170 * Total personal interest deduction, only 40% is deductible; 3171 TOTPINEX=MAX(0,(CCPINEX+TOTLNPINEXC+TOTLOCPINEX+TOTLNPINEXI+LIFEINSINEX))*.4; 3172 UNADJTOTPINEX=MAX(0,(CCPINEX+TOTLNPINEXC+TOTLOCPINEX+TOTLNPINEXI+LIFEINSINEX)); 3173 %END; 3174 %ELSE %IF &SYEAR GE 1992 %THEN %DO; 3175 TOTPINEX=0; 3176 %END; 3177 3178 3179 **************Charitable Contributions; 3180 * Contributions to charity, only know if hh contributed $500 or 3181 more. Need to use agi to compute limits on charitable deductions, 3182 assuming all contributions fall under 50% limit organizations. For 3183 TAXSIM, will classify all contributions as cash contributions 3184 (from IRS tables, 80 to 90 percent of contributions in a given 3185 year are cash). Remember to give TAXSIM X5823, TAXSIM will apply the limits.; 3186 GCHARITY=(X5822=1); 3187 CHARITYAMT=0; 3188 IF (X5822=1 & X5823 > 0) THEN DO; 3189 IF (X5823 > .5*AGI) & (AGI>0) THEN 3190 CHARITYAMT=.5*AGI; 3191 ELSE CHARITYAMT=X5823; 3192 END; 3193 3194 IF X5822=1 & X5823 > 0 & AGI < 0 & Y1=YY1*10+1 THEN PUT 3195 "NEGATIVE AGI BUT CHARITYAMT > 0 " Y1= X5823= CHARITYAMT= X5744= X5746= AGI=; 3196 3197 END; 3198 ELSE IF ITEMDEDCT_FLAG=0 THEN DO; 3199 ADJDEDCT=0; 3200 RESTAXM1=0; 3201 TOTINVEX=0; 3202 CHARITYAMT=0; 3203 TOTPINEX=0; 57 The SAS System 10:41 Monday, May 31, 2021 3204 END; 3205 3206 **********Total itemized deductions and exemptions 3207 * Total itemized deductions, including property taxes here, but 3208 remember to separate them out for TAXSIM. Imposing IRS limits on 3209 total deductions, rules from itemized deductions worksheet.; 3210 TOTITEMDCT=0; 3211 3212 * no limits on itemized deductions in 1988, 2012 and 2018; 3213 * starting in 2015, itemized deduction phaseout limit for AGI are the 3214 same as for personal exemptions, so using EXLIM1-4 in this code; 3215 %IF &SYEAR EQ 1989 OR &SYEAR EQ 2013 OR &SYEAR EQ 2019 %THEN %DO; 3216 TOTITEMDCT=MAX(0,(ADJDEDCT+RESTAXM1+TOTINVEX+TOTPINEX+CHARITYAMT)); 3217 DEDCTLIM=0; 3218 %END; 3219 %ELSE %IF (&SYEAR GE 1992 AND &SYEAR LE 2010) %THEN %DO; 3220 TEMPITEMDCT=MAX(0,(ADJDEDCT+RESTAXM1+TOTINVEX+TOTPINEX+CHARITYAMT)); 3221 IF TEMPITEMDCT > 0 & ((AGI <= &ITDLIM1 & FILESTAT^=3) 3222 | (AGI <= &ITDLIM2 & FILESTAT=3)) THEN DO; 3223 TOTITEMDCT=MAX(0,(ADJDEDCT+RESTAXM1+TOTINVEX+TOTPINEX+CHARITYAMT)); 3224 DEDCTLIM=0; 3225 END; 3226 ELSE IF TEMPITEMDCT > 0 & DEDCTLIM^=0 THEN DO; 3227 ITDLIM=&ITDLIM1*(FILESTAT^=3)+&ITDLIM2*(FILESTAT=3); 3228 DEDCTLIM=1; 3229 IWLINE1=MAX(0,(ADJDEDCT+RESTAXM1+TOTINVEX+TOTPINEX+CHARITYAMT)); 3230 IF (IWLINE1-TOTINVEX <= 0) THEN TOTITEMDCT=IWLINE1; 3231 ELSE IF (IWLINE1-TOTINVEX > 0) THEN DO; 3232 IWLINE4=(IWLINE1-TOTINVEX)*.80; 3233 IWLINE7=AGI-ITDLIM; 3234 IWLINE8=IWLINE7*.03; 3235 IWLINE9=MIN(IWLINE4,IWLINE8); 3236 %IF &SYEAR GE 2007 OR &SYEAR EQ 2010 %THEN %DO; 3237 IWLINE10=IWLINE9/&ITDL10; 3238 IWLINE11=IWLINE9-IWLINE10; 3239 TOTITEMDCT=IWLINE1-IWLINE11; 3240 %END; 3241 %ELSE %IF &SYEAR GE 1992 AND &SYEAR LE 2004 %THEN %DO; 3242 TOTITEMDCT=IWLINE1-IWLINE9; 3243 %END; 3244 END; 3245 END; 3246 ELSE IF TEMPITEMDCT=0 THEN DEDCTLIM=0; 3247 %END; 3248 %ELSE %IF (&SYEAR EQ 2016) %THEN %DO; 3249 TEMPITEMDCT=MAX(0,(ADJDEDCT+RESTAXM1+TOTINVEX+TOTPINEX+CHARITYAMT)); 3250 IF TEMPITEMDCT > 0 & ((AGI <= &EXLIM1 & FILESTAT=1) 3251 | (AGI <= &EXLIM2 & FILESTAT IN(2 5)) | (AGI <= &EXLIM3 & FILESTAT=3) 3252 | (AGI <= &EXLIM4 & FILESTAT=4)) THEN DO; 3253 TOTITEMDCT=MAX(0,(ADJDEDCT+RESTAXM1+TOTINVEX+TOTPINEX+CHARITYAMT)); 3254 DEDCTLIM=0; 3255 END; 3256 ELSE IF TEMPITEMDCT > 0 & DEDCTLIM^=0 THEN DO; 3257 ITDLIM=&EXLIM1*(FILESTAT=1)+&EXLIM2*(FILESTAT IN(2 5)) 3258 +&EXLIM3*(FILESTAT=3)+&EXLIM4*(FILESTAT=4); 3259 DEDCTLIM=1; 3260 IWLINE1=MAX(0,(ADJDEDCT+RESTAXM1+TOTINVEX+TOTPINEX+CHARITYAMT)); 3261 IF (IWLINE1-TOTINVEX <= 0) THEN TOTITEMDCT=IWLINE1; 58 The SAS System 10:41 Monday, May 31, 2021 3262 ELSE IF (IWLINE1-TOTINVEX > 0) THEN DO; 3263 IWLINE4=(IWLINE1-TOTINVEX)*.80; 3264 IWLINE7=AGI-ITDLIM; 3265 IWLINE8=IWLINE7*.03; 3266 IWLINE9=MIN(IWLINE4,IWLINE8); 3267 TOTITEMDCT=IWLINE1-IWLINE9; 3268 END; 3269 END; 3270 ELSE IF TEMPITEMDCT=0 THEN DEDCTLIM=0; 3271 %END 3272 3273 * Total dollar amount of exemptions, also applying phaseouts; NOTE: Extraneous text on %END statement ignored. 3274 * NOTE: Change in worksheet for 2006; 3275 * no limits on exemptions in 1988 and 2012, no exemptions in 2018; 3276 TOTEXPTAMT=0; 3277 EXPTLIM=0; 3278 %IF &SYEAR EQ 2019 %THEN %DO; 3279 TOTEXPTAMT=0; 3280 %END; 3281 %ELSE %IF &SYEAR EQ 1989 OR &SYEAR EQ 2013 %THEN %DO; 3282 TOTEXPTAMT=TOTEXPT*&EXPAMT; 3283 %END; 3284 %ELSE %DO; 3285 EXLIM=&EXLIM1*(FILESTAT=1)+&EXLIM2*(FILESTAT IN(2 5)) 3286 +&EXLIM3*(FILESTAT=3)+&EXLIM4*(FILESTAT=4); 3287 EXPAGIT=&EXPAGIT1*(FILESTAT^=3)+&EXPAGIT2*(FILESTAT=3); 3288 DLINE6=2500*(FILESTAT^=3)+1250*(FILESTAT=3); 3289 IF (AGI <= EXLIM) THEN TOTEXPTAMT=TOTEXPT*&EXPAMT; 3290 ELSE IF (AGI > EXLIM) THEN DO; 3291 EXPTLIM=1; 3292 EWLINE2=TOTEXPT*&EXPAMT; 3293 EWLINE5=AGI-EXLIM; 3294 IF EWLINE5 > EXPAGIT THEN TOTEXPTAMT=TOTEXPT*&EXPAMT2; 3295 ELSE IF EWLINE5 <= EXPAGIT THEN DO; 3296 EWLINE6=ROUND((EWLINE5/DLINE6),1); 3297 EWLINE7=EWLINE6*.02; 3298 EWLINE8=EWLINE7*EWLINE2; 3299 %IF &SYEAR EQ 2007 0R &SYEAR EQ 2010 %THEN %DO; 3300 EWLINE9=EWLINE8/&EXDL9; 3301 TOTEXPTAMT=EWLINE2-EWLINE9; 3302 %END; 3303 %ELSE %IF (&SYEAR GE 1992 AND &SYEAR LE 2004) | (&SYEAR EQ 2016) %THEN %DO; 3304 TOTEXPTAMT=EWLINE2-EWLINE8; 3305 %END; 3306 END; 3307 END; 3308 %END; 3309 3310 * Standard deduction by filing status, including addition deduction 3311 amount for over 65, dont have any info on blindness. Also compute 3312 number of age exemptions and flag nonfilers based on IRS filing 3313 thresholds and a few other assumptions. Nonfilers also cannot have 3314 negative AGI, losses from business or capital gains or more than 3315 1/3 of the lowest filing threshold, which is married, filing separately; 3316 BUSRENTCAPLOSS=(TBUSINC < 0 | RENTINC < 0 | CAPGLINC < 0); 3317 HWSINCSE=(WSINCOME >= (.33*&FILELIM6) | WSINCSP >= (.33*&FILELIM6) | TBUSINC >= (.33*&FILELIM6)); 3318 STDDCT=0; 59 The SAS System 10:41 Monday, May 31, 2021 3319 IF (FILESTAT=1 & TUAGE < 65) THEN DO; 3320 STDDCT=&STDAMT1; 3321 NONFILER=(0 < AGI < &FILELIM1)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3322 END; 3323 ELSE IF (FILESTAT=1 & TUAGE >= 65) THEN DO; 3324 STDDCT=&STDAMT2; 3325 NONFILER=(0 < AGI < &FILELIM2)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3326 END; 3327 ELSE IF (FILESTAT=2 & TUAGE < 65 & SPAGE < 65) THEN DO; 3328 STDDCT=&STDAMT3; 3329 NONFILER=(0 < AGI < &FILELIM3)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3330 END; 3331 ELSE IF (FILESTAT=2 & TUAGE >= 65 & SPAGE >= 65) THEN DO; 3332 STDDCT=&STDAMT5; 3333 NONFILER=(0 < AGI < &FILELIM5)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3334 END; 3335 ELSE IF (FILESTAT=2 & (TUAGE >= 65 | SPAGE >= 65)) THEN DO; 3336 STDDCT=&STDAMT4; 3337 NONFILER=(0 < AGI < &FILELIM4)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3338 END; 3339 ELSE IF (FILESTAT=3 & TUAGE < 65) THEN DO; 3340 %IF &SYEAR GE 2004 %THEN %DO; 3341 STDDCT=&STDAMT1; 3342 %END; 3343 %ELSE %IF &SYEAR LE 2001 %THEN %DO; 3344 STDDCT=&STDAMT3/2; 3345 %END; 3346 NONFILER=(AGI < &FILELIM6)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3347 END; 3348 ELSE IF (FILESTAT=3 & TUAGE >= 65) THEN DO; 3349 %IF &SYEAR GE 2004 %THEN %DO; 3350 STDDCT=&STDAMT2; 3351 %END; 3352 %ELSE %IF &SYEAR LE 2001 %THEN %DO; 3353 STDDCT=&STDAMT5/2; 3354 %END; 3355 NONFILER=(AGI < &FILELIM6)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3356 END; 3357 ELSE IF (FILESTAT=4 & TUAGE < 65) THEN DO; 3358 STDDCT=&STDAMT6; 3359 NONFILER=(0 < AGI < &FILELIM7)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3360 END; 3361 ELSE IF (FILESTAT=4 & TUAGE >= 65) THEN DO; 3362 STDDCT=&STDAMT7; 3363 NONFILER=(0 < AGI < &FILELIM8)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3364 END; 3365 ELSE IF (FILESTAT=5 & TUAGE < 65) THEN DO; 3366 STDDCT=&STDAMT3; 3367 NONFILER=(AGI < &FILELIM9)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3368 END; 3369 ELSE IF (FILESTAT=5 & TUAGE >= 65) THEN DO; 3370 STDDCT=&STDAMT4; 3371 NONFILER=(0 < AGI < &FILELIM10)*(BUSRENTCAPLOSS=0 & HWSINCSE=0); 3372 END; 3373 AGEXMP=(TUAGE > 65) + (SPAGE > 65)*(FILESTAT=2); 3374 3375 3376 * Did the hh itemize; 60 The SAS System 10:41 Monday, May 31, 2021 3377 * No itemization question in 1989 or 1992, so itemize will be zero; 3378 ITEMIZE=(TAXUNIT=0)*(X7367=1 | X7368=1 | X7369=1)+(TAXUNIT=1)*(X7368=1)+(TAXUNIT=2)*(X7369=1); 3379 CITEMIZE=(TOTITEMDCT => STDDCT); 3380 3381 3382 * Construct other variables needed for TAXSIM; 3383 TAXUNITID=Y1*100+TAXUNIT; 3384 YEAR=&TYEAR; 3385 AGECL=1*(TUAGE < 26)+2*(26<=TUAGE<35)+3*(35<=TUAGE<45) 3386 +4*(45<=TUAGE<55)+5*(55<=TUAGE<65)+6*(TUAGE>=65); 3387 3388 3389 * Dividing capital gains/losses up into long-term and short-term 3390 portions based on the following procedure. Using the aggregate data 3391 on long-term and short-term capital gains/losses from the IRS SOI 3392 Individual report (table 1.4), the share of gains/losses that are 3393 long and short term is determined for 3 broad AGI classes, < 50K, 50 to < 3394 100K, and 100K +. The shares from this computation are then applied 3395 to the data (by AGI class).; 3396 STCAPINC=0; 3397 LTCAPINC=0; 3398 IF (AGICL IN(1)) THEN DO; 3399 IF (CAPGLINC > 0) THEN DO; 3400 LTCAPINC=CAPGLINC*&LCGAGI1; 3401 STCAPINC=CAPGLINC*(1-&LCGAGI1); 3402 END; 3403 ELSE IF (CAPGLINC < 0) THEN DO; 3404 LTCAPINC=CAPGLINC*&LCLAGI1; 3405 STCAPINC=CAPGLINC*(1-&LCLAGI1); 3406 END; 3407 END; 3408 ELSE IF (AGICL IN(2)) THEN DO; 3409 IF (CAPGLINC > 0) THEN DO; 3410 LTCAPINC=CAPGLINC*&LCGAGI2; 3411 STCAPINC=CAPGLINC*(1-&LCGAGI2); 3412 END; 3413 ELSE IF (CAPGLINC < 0) THEN DO; 3414 LTCAPINC=CAPGLINC*&LCLAGI2; 3415 STCAPINC=CAPGLINC*(1-&LCLAGI2); 3416 END; 3417 END; 3418 ELSE IF (AGICL IN(3)) THEN DO; 3419 IF (CAPGLINC > 0) THEN DO; 3420 LTCAPINC=CAPGLINC*&LCGAGI3; 3421 STCAPINC=CAPGLINC*(1-&LCGAGI3); 3422 END; 3423 ELSE IF (CAPGLINC < 0) THEN DO; 3424 LTCAPINC=CAPGLINC*&LCLAGI3; 3425 STCAPINC=CAPGLINC*(1-&LCLAGI3); 3426 END; 3427 END; 3428 3429 ARRAY NEG_1 {*} TBUSINC OTHINC RENTINC OTHPINC; 3430 3431 DO I=1 TO DIM(NEG_1); 3432 IF NEG_1{I}=-1 THEN NEG_1{I}=0; 3433 END; 3434 61 The SAS System 10:41 Monday, May 31, 2021 3435 UNADJTOTDEDCT=MAX(0,(ADJDEDCT+TOTINVEX+CHARITYAMT)); 3436 CHCAREXP=0; 3437 TINCOME=WSINCOME+WSINCSP+TBUSINC+INTINC+NTAXINC+DIVINC+CAPGLINC+RENTINC 3438 +UNEMPINC+GSSINC+PENINC+AFDCINC+OTHINC; 3439 TOTXINC=WSINCOME+WSINCSP+TBUSINC+INTINC+DIVINC+CAPGLINC+RENTINC 3440 +UNEMPINC+GSSINC+PENINC+OTHINC; 3441 *set 3000 max loss for capital gains for comparison with IRS 3442 estimates; 3443 IF CAPGLINC < -3000 THEN CAPGL3K=-3000; 3444 ELSE CAPGL3K=CAPGLINC; 3445 3446 3447 * Check for cases were totxinc=0 and x5729 > 0 - should be none. Note 3448 that X5706 and X5720 are not included in totxinc, so check that they 3449 are zero.; 3450 IF (TOTXINC=0 & TINCOME > 0 & AFDCINC=0 & NTAXINC=0 & TAXUNIT < 3 & Y1=YY1*10+1) 3451 THEN PUT "TOTXINC IS ZERO BUT TINCOME > 0 " 3452 YY1= Y1= TOTXINC= TINCOME= WSINCOME= WSINCSP= TBUSINC= INTINC= NTAXINC= DIVINC= RENTINC= 3453 UNEMPINC= AFDCINC= GSSINC= PENINC= OTHINC= CAPGLINC= RAGE= SPAGE= FILESTAT= 3454 TAXUNIT= X4100= X4700=/; 3455 3456 3457 * Adding in payroll tax liability and mtr, assuming employee pays both 3458 employee and employer share, and the SE pay 2x the employee 3459 amount. Therefore, the rate is the same regardless of SE/EMP 3460 status. Also need rules for computing mtr from the payroll tax, for 3461 single earner households payroll mtr is just the contribution rate, 3462 unless earnings are above the maximum, then the payroll mtr is 3463 zero. For dual earner households, need to split up earnings reported 3464 in x5702/x5704 to compute the payroll tax liability and mtr. The 3465 rule used here is to look at the current earning for R and Sp, and 3466 as long as R and Sp have worked at their current jobs for at least 3467 one year, then use the percent each accounts for in total household 3468 earnings to split up x5702/x5704. If either R or Sp has been at 3469 their current job for less than one year, then split up x5702/x5704 3470 50-50. Only computing the payroll mtr for R in dual earner 3471 households. Also, need to check for hhs who worked in tax year, but not 3472 currently working. For single earner households of this type, just 3473 calculate payroll tax liability and mtr using x5702/x5704. In the 3474 case of hhs with a two earners, divide x5702/x5704 50-50 and caculate the 3475 payroll liability and mtr. Computing the payroll atr in a similar 3476 fashion. 3477 NOTE: Need to adjust for different amounts used to compute the mtr, 3478 initially computing payroll mtr for adding $1 to earnings.; 3479 * Need to adjust for 1988, 2% credit for SE, in 1991, limit on medicare tax; 3480 ** earnings from wages and businesses for head and spouse/parnter; 3481 REARN=R_LABORINC+R_BUSINC; 3482 SPEARN=SP_LABORINC+SP_BUSINC; 3483 HHEARN=REARN+SPEARN; 3484 TWSINC=WSINCOME+WSINCSP; 3485 PAYROLLIAB=0; 3486 PAYROLLMTR=0; 3487 PAYROLLATR=0; 3488 IF TAXUNIT=0 THEN DO; 3489 %IF &SYEAR GE 1992 %THEN %DO; 3490 IF (X4106 IN(1 2 3 4 -7) & X4706=0) | (X4106=0 & X4706 IN(1 2 3 4 -7)) 3491 | (X4106=0 & X4706=0 & X102=0 & (TWSINC > 0 | TBUSINC > 0)) THEN DO; 3492 PAYROLLIAB=MIN(&PTLIM,(TWSINC+TBUSINC*(TBUSINC >0)))*&PAYTAX + 62 The SAS System 10:41 Monday, May 31, 2021 3493 ((TWSINC+TBUSINC*(TBUSINC >0))*&MEDHI)*(&SYEAR GE 1995)+ 3494 (MIN(125000,(TWSINC+TBUSINC*(TBUSINC >0)))*&MEDHI)*(&SYEAR EQ 1992); 3495 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC > 0)+1) <= &PTLIM)*(100*&PAYTAX))+ 3496 (100*&MEDHI)*(&SYEAR GE 1995)+ 3497 (100*&MEDHI)*(&SYEAR EQ 1992)*((TWSINC+TBUSINC*(TBUSINC > 0)+1) <= 125000); 3498 IF (PAYROLLIAB >0) THEN PAYROLLATR=100*(PAYROLLIAB/(TWSINC+TBUSINC*(TBUSINC > 0))); 3499 END; 3500 ELSE IF (X4106 IN(1 2 3 4 -7) & X4706 IN(1 2 3 4 -7)) THEN DO; 3501 IF (X4115 >=1 & X4715 >=1 & HHEARN > 0) THEN DO; 3502 PAYROLLIAB=MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(REARN/HHEARN)))*&PAYTAX + 3503 ((TWSINC+TBUSINC*(TBUSINC >0))*(REARN/HHEARN))*&MEDHI*(&SYEAR GE 1995)+ 3504 (MIN(125000,(TWSINC+TBUSINC*(TBUSINC >0)))*(REARN/HHEARN))*&MEDHI*(&SYEAR EQ 1992)+ 3505 MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC >0))*(SPEARN/HHEARN)))*&PAYTAX + 3506 ((TWSINC+TBUSINC*(TBUSINC >0))*(SPEARN/HHEARN))*&MEDHI*(&SYEAR GE 1995)+ 3507 (MIN(125000,(TWSINC+TBUSINC*(TBUSINC >0)))*(SPEARN/HHEARN))*&MEDHI*(&SYEAR EQ 1992); 3508 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC >0)+1)*(REARN/HHEARN) <= 3509 &PTLIM)*(100*&PAYTAX))+(100*&MEDHI)*(&SYEAR GE 1995)+ 3510 (100*&MEDHI)*(&SYEAR EQ 1992)*((TWSINC+TBUSINC*(TBUSINC > 0)+1)*(REARN/HHEARN) <= 125000); 3511 IF ((MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(REARN/HHEARN)))*&PAYTAX + 3512 ((TWSINC+TBUSINC*(TBUSINC >0))*(REARN/HHEARN))*&MEDHI) > 0) THEN 3513 PAYROLLATR=100*((MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(REARN/HHEARN)))*&PAYTAX + 3514 ((&SYEAR GE 1995)*((TWSINC+TBUSINC*(TBUSINC >0))*(REARN/HHEARN))*&MEDHI)+ 3515 ((&SYEAR EQ 1992)*(MIN(125000,(TWSINC+TBUSINC*(TBUSINC >0)))*(REARN/HHEARN))*&MEDHI))/ 3516 ((TWSINC+TBUSINC*(TBUSINC > 0))*(REARN/HHEARN))); 3517 END; 3518 ELSE IF (X4115 =-1 & X4715=-1) | (X4115 >=1 & X4715=-1) | 3519 (X4115=-1 & X4715 >=1) | (HHEARN=0) THEN DO; 3520 IF ((TWSINC+TBUSINC*(TBUSINC >0)) <= &PTLIM) THEN DO; 3521 PAYROLLIAB=(TWSINC+TBUSINC*(TBUSINC >0))*&PAYTAX+ 3522 (TWSINC+TBUSINC*(TBUSINC >0))*&MEDHI; 3523 END; 3524 ELSE IF ((TWSINC+TBUSINC*(TBUSINC >0)) > &PTLIM) THEN DO; 3525 PAYROLLIAB=MIN(2*&PTLIM,((TWSINC+TBUSINC*(TBUSINC >0))))*&PAYTAX+ 3526 (TWSINC+TBUSINC*(TBUSINC >0))*&MEDHI*(&SYEAR GE 1995)+ 3527 MIN(125000,(TWSINC+TBUSINC*(TBUSINC >0)))*&MEDHI*(&SYEAR EQ 1992); 3528 END; 3529 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC >0)+1)*(.5) <= 3530 &PTLIM)*(100*&PAYTAX))+(100*&MEDHI)*(&SYEAR GE 1995)+ 3531 (100*&MEDHI)*(&SYEAR EQ 1992)*((TWSINC+TBUSINC*(TBUSINC > 0)+1) <= 125000); 3532 IF (PAYROLLIAB*.5 > 0) THEN 3533 PAYROLLATR=100*((PAYROLLIAB*.5)/((TWSINC+TBUSINC*(TBUSINC >0))*(.5))); 3534 END; 3535 END; 3536 ELSE IF (X4106=0 & X4706=0 & X102^=0 & (TWSINC > 0 | TBUSINC > 0)) THEN 3537 DO; 3538 PAYROLLIAB=2*(MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC >0))*(.5)))*&PAYTAX + 3539 ((TWSINC+TBUSINC*(TBUSINC >0))*(.5))*&MEDHI*(&SYEAR GE 1995)+ 3540 (MIN(125000,(TWSINC+TBUSINC*(TBUSINC >0)*(.5)))*&MEDHI)*(&SYEAR EQ 1992)); 3541 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC >0)+1)*(.5) <= 3542 &PTLIM)*(100*&PAYTAX))+(100*&MEDHI)*(&SYEAR GE 1995)+ 3543 (100*&MEDHI)*(&SYEAR EQ 1992)*((TWSINC+TBUSINC*(TBUSINC > 0)+1) <= 125000); 3544 IF (PAYROLLIAB*.5 > 0) THEN 3545 PAYROLLATR=100*((PAYROLLIAB*.5)/((TWSINC+TBUSINC*(TBUSINC >0))*(.5))); 3546 END; 3547 %END; 3548 %ELSE %IF &SYEAR EQ 1989 %THEN %DO; 3549 IF (X4106 IN(1 2 3 4 -7) & X4706=0) | (X4106=0 & X4706 IN(1 2 3 4 -7)) 3550 | (X4106=0 & X4706=0 & X102=0 & (TWSINC > 0 | TBUSINC > 0)) THEN DO; 63 The SAS System 10:41 Monday, May 31, 2021 3551 PAYROLLIAB=MIN(&PTLIM,(TWSINC+TBUSINC*(TBUSINC >0)))*&PAYTAX*(R_SOLEPROP=0)+ 3552 MIN(&PTLIM,(TWSINC+TBUSINC*(TBUSINC >0)))*(&PAYTAX-.02)*(R_SOLEPROP=1); 3553 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC > 0)+1) <=&PTLIM)*(100*&PAYTAX)*(R_SOLEPROP=0)+ 3554 ((TWSINC+TBUSINC*(TBUSINC > 0)+1) <=&PTLIM)*(100*(&PAYTAX-.02))*(R_SOLEPROP=1)); 3555 IF (PAYROLLIAB >0) THEN PAYROLLATR=100*(PAYROLLIAB/(TWSINC+TBUSINC*(TBUSINC > 0))); 3556 END; 3557 ELSE IF (X4106 IN(1 2 3 4 -7) & X4706 IN(1 2 3 4 -7)) THEN DO; 3558 IF (X4115 >=1 & X4715 >=1 & HHEARN > 0) THEN DO; 3559 PAYROLLIAB=MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(REARN/HHEARN)))*&PAYTAX*(R_SOLEPROP=0)+ 3560 MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(REARN/HHEARN)))*(&PAYTAX-.02)*(R_SOLEPROP=1)+ 3561 MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC >0))*(SPEARN/HHEARN)))*&PAYTAX*(SP_SOLEPROP=0) + 3562 MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC >0))*(SPEARN/HHEARN)))*(&PAYTAX-.02)*(SP_SOLEPROP=1); 3563 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC >0)+1)*(REARN/HHEARN) <=&PTLIM)*(100*&PAYTAX)*(R_SOLEPROP=0)+ 3564 ((TWSINC+TBUSINC*(TBUSINC >0)+1)*(REARN/HHEARN) <=&PTLIM)*(100*(&PAYTAX-.02))*(R_SOLEPROP=1)); 3565 PAYROLLATR=100*((MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(REARN/HHEARN)))*&PAYTAX*(R_SOLEPROP=0)+ 3566 (MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(REARN/HHEARN)))*(&PAYTAX-.02)*(R_SOLEPROP=1)))); 3567 END; 3568 ELSE IF (X4115 =-1 & X4715=-1) | (X4115 >=1 & X4715=-1) | 3569 (X4115=-1 & X4715 >=1) | (HHEARN=0) THEN DO; 3570 IF ((TWSINC+TBUSINC*(TBUSINC >0)) <= &PTLIM) THEN DO; 3571 PAYROLLIAB=(TWSINC+TBUSINC*(TBUSINC >0))*&PAYTAX*(R_SOLEPROP=0 3572 & SP_SOLEPROP=0)+(TWSINC+TBUSINC*(TBUSINC >0))*(&PAYTAX-.02)*(R_SOLEPROP=1 3573 | SP_SOLEPROP=1); 3574 END; 3575 ELSE IF ((TWSINC+TBUSINC*(TBUSINC >0)) > &PTLIM) THEN DO; 3576 PAYROLLIAB=MIN(2*&PTLIM,((TWSINC+TBUSINC*(TBUSINC >0))))*&PAYTAX*(R_SOLEPROP=0 3577 & SP_SOLEPROP=0)+MIN(2*&PTLIM,((TWSINC+TBUSINC*(TBUSINC >0))))*(&PAYTAX-.02)*(R_SOLEPROP=1 3578 | SP_SOLEPROP=1); 3579 END; 3580 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC >0)+1)*(.5) <= 3581 &PTLIM)*(100*&PAYTAX)*(R_SOLEPROP=0 & SP_SOLEPROP=0)+((TWSINC+TBUSINC*(TBUSINC >0)+1)*(.5) <= 3582 &PTLIM)*(100*(&PAYTAX-.02))*(R_SOLEPROP=1 | SP_SOLEPROP=1)); 3583 IF (PAYROLLIAB*.5 > 0) THEN 3584 PAYROLLATR=100*((PAYROLLIAB*.5)/((TWSINC+TBUSINC*(TBUSINC >0))*(.5))); 3585 END; 3586 END; 3587 ELSE IF (X4106=0 & X4706=0 & X102^=0 & (TWSINC > 0 | TBUSINC > 0)) THEN 3588 DO; 3589 PAYROLLIAB=2*(MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(.5)))*&PAYTAX*(R_SOLEPROP=0 & SP_SOLEPROP=0)+ 3590 MIN(&PTLIM,((TWSINC+TBUSINC*(TBUSINC>0))*(.5)))*(&PAYTAX-.02)*(R_SOLEPROP=1 | SP_SOLEPROP=1)); 3591 PAYROLLMTR=(((TWSINC+TBUSINC*(TBUSINC >0)+1)*(.5) <=&PTLIM)*(100*&PAYTAX)*(R_SOLEPROP=0 & 3591 ! SP_SOLEPROP=0)+ 3592 ((TWSINC+TBUSINC*(TBUSINC >0)+1)*(.5) <=&PTLIM)*(100*(&PAYTAX-.02))*(R_SOLEPROP=1 | SP_SOLEPROP=1)); 3593 IF (PAYROLLIAB*.5 > 0) THEN 3594 PAYROLLATR=100*((PAYROLLIAB*.5)/((TWSINC+TBUSINC*(TBUSINC >0))*(.5))); 3595 END; 3596 %END; 3597 END; 3598 ELSE IF TAXUNIT >= 1 THEN DO; 3599 %IF &SYEAR GE 1992 %THEN %DO; 3600 IF (WSINCOME > 0 | TBUSINC > 0) THEN DO; 3601 PAYROLLIAB=MIN(&PTLIM,(WSINCOME+TBUSINC*(TBUSINC >0)))*&PAYTAX + 3602 ((WSINCOME+TBUSINC*(TBUSINC >0))*&MEDHI)*(&SYEAR GE 1995)+ 3603 (MIN(125000,(WSINCOME+TBUSINC*(TBUSINC >0)))*&MEDHI)*(&SYEAR EQ 1992); 3604 PAYROLLMTR=(((WSINCOME+TBUSINC*(TBUSINC > 0)+1)<=&PTLIM)*(100*&PAYTAX))+ 3605 (100*&MEDHI)*(&SYEAR GE 1995)+ 3606 (100*&MEDHI)*(&SYEAR EQ 1992)*((WSINCOME+TBUSINC*(TBUSINC > 0)+1) <= 125000); 3607 IF (PAYROLLIAB >0) THEN PAYROLLATR=100*(PAYROLLIAB/(WSINCOME+TBUSINC*(TBUSINC > 0))); 64 The SAS System 10:41 Monday, May 31, 2021 3608 END; 3609 %END; 3610 %ELSE %IF &SYEAR EQ 1989 %THEN %DO; 3611 SOLEPROP=(R_SOLEPROP=1 & TAXUNIT=1)+(SP_SOLEPROP=1 & TAXUNIT=2); 3612 IF (WSINCOME > 0 | TBUSINC > 0) THEN DO; 3613 PAYROLLIAB=MIN(&PTLIM,(WSINCOME+TBUSINC*(TBUSINC >0)))*&PAYTAX*(SOLEPROP=0)+ 3614 MIN(&PTLIM,(WSINCOME+TBUSINC*(TBUSINC>0)))*(&PAYTAX-.02)*(SOLEPROP=1); 3615 PAYROLLMTR=(((WSINCOME+TBUSINC*(TBUSINC > 0)+1)<=&PTLIM)*(100*&PAYTAX)*(SOLEPROP=0)+ 3616 ((WSINCOME+TBUSINC*(TBUSINC >0)+1)<=&PTLIM)*(100*(&PAYTAX-.02))*(SOLEPROP=1)); 3617 IF (PAYROLLIAB >0) THEN PAYROLLATR=100*(PAYROLLIAB/(WSINCOME+TBUSINC*(TBUSINC > 0))); 3618 END; 3619 %END; 3620 END; 3621 IF PAYROLLIAB=0 & PAYROLLMTR=0 & PAYROLLATR=0 & (TWSINC > 0 | TBUSINC > 0) & 3622 Y1=YY1*10+1 THEN PUT "NO PAYROLL LIABILITY, MTR, OR ATR " Y1= X102= X4106= 3623 X4706= X4115= X4715= X4112= X4113= X4131= X4132= X4712= X4713= X4731= X4732= TWSINC= 3624 TBUSINC= R_LABORINC= R_BUSINC= R_SOLEPROP= SP_LABORINC= SP_BUSINC= 3625 SP_SOLEPROP= REARN= SPEARN= HHEARN= TAXUNIT=/; 3626 3627 3628 * Check for missing variables; 3629 ARRAY CHVARS {*} YY1 Y1 CHARITYAMT X5823 TOTITEMDCT STDDCT 3630 AGI AGICL AGIGE50K DEDCTLIM X7372 3631 X7018 X8023 X105 PERSEXP KIDS TOTEXPT FILESTAT TOTEXPTAMT EXPTLIM 3632 RAGE SPAGE TUAGE YEAR STATE TAXUNIT WSINCOME 3633 WSINCSP TBUSINC NTAXINC INTINC DIVINC CAPGLINC RENTINC UNEMPINC 3634 CHSPALINC AFDCINC PENINC OTHINC GSSINC OTHPINC NONTAX RENT 3635 UNADJTOTDEDCT CHCAREXP TINCOME TOTXINC STCAPINC LTCAPINC PAYROLLIAB 3636 PAYROLLMTR PAYROLLATR LWP KIDSU17 KIDSU18 KIDSU13; 3637 3638 DO I=1 TO DIM(CHVARS); 3639 IF CHVARS{I}=. THEN PUT "MISSING VALUE FOR " Y1= CHVARS{I}=; 3640 END; 3641 RUN; 3642 3643 PROC FREQ DATA=SCF; 3644 TABLES FILESTAT*NONFILER; 3645 TABLES TAXUNIT*NONFILER OVERLIM; 3646 RUN; 3647 3648 PROC FREQ DATA=SCF; 3649 WEIGHT WGT; 3650 TABLES NONFILER; 3651 TABLES NONFILER*AGECL; 3652 TABLES FILESTAT*(NONFILER AGECL); 3653 TABLES ITEMIZE*CITEMIZE; 3654 RUN; 3655 3656 PROC MEANS DATA=SCF N MEAN SUM; 3657 WEIGHT WGT; 3658 CLASS NONFILER FILESTAT TAXUNIT; 3659 TYPES () NONFILER NONFILER*FILESTAT NONFILER*TAXUNIT; 3660 VAR POP; 3661 RUN; 3662 3663 PROC MEANS DATA=SCF N MEAN SUM; 3664 WEIGHT WGT; 3665 WHERE TAXUNIT <3; 65 The SAS System 10:41 Monday, May 31, 2021 3666 CLASS NONFILER FILESTAT TAXUNIT; 3667 TYPES () NONFILER NONFILER*FILESTAT NONFILER*TAXUNIT; 3668 VAR POP; 3669 RUN; 3670 3671 PROC MEANS DATA=SCF N MEAN SUM; 3672 WEIGHT WGT; 3673 CLASS NONFILER; 3674 TYPES () NONFILER; 3675 VAR Y1 YEAR STATE FILESTAT KIDS AGEXMP WSINCOME WSINCSP DIVINC OTHPINC 3676 PENINC GSSINC NONTAX RENT RESTAXM1 UNADJTOTDEDCT CHCAREXP UNEMPINC 3677 CAPGLINC STCAPINC LTCAPINC ADJDEDCT RESTAXM1 TOTINVEX CHARITYAMT KIDSU17 AGI; 3678 RUN; 3679 3680 * Create a dataset for full TAXSIM. Breaking out total itemized 3681 deductions into its parts - have applied the limits for the mortgage 3682 interest deduction and investment interest expense, but not for 3683 charitable contributions.; 3684 PROC SORT DATA=SCF; 3685 BY TAXUNITID; 3686 RUN; 3687 3688 * Rename variables to TAXSIM names, use lowercase for TAXSIM file names; 3689 DATA TAXSIM; 3690 SET SCF; 3691 3692 IF FILESTAT > 0; 3693 3694 mstat=1*(FILESTAT IN(1 4))+2*(FILESTAT IN(2 5))+6*(FILESTAT IN(3)); 3695 otherprop=RENTINC+TBUSINC; 3696 nonprop=CHSPALINC+OTHINC; 3697 otheritem=TOTINVEX+TOTPINEX; 3698 mortgage=ADJDEDCT+X5823; 3699 scorp=0; 3700 pbusinc=0; 3701 pprofinc=0; 3702 sbusinc=0; 3703 sprofinc=0; 3704 tyear=YEAR; 3705 tstate=STATE; 3706 * set idtl=2 to get detailed output from TAXSIM; 3707 idtl=2; 3708 3709 RENAME TAXUNITID=taxsimid TUAGE=page SPAGE=sage KIDS=depx KIDSU13=dep13 KIDSU17=dep17 3710 KIDSU18=dep18 WSINCOME=pwages WSINCSP=swages DIVINC=dividends INTINC=intrec STCAPINC=stcg 3711 LTCAPINC=ltcg PENINC=pensions GSSINC=gssi UNEMPINC=ui AFDCINC=transfers RENT=rentpaid 3712 RESTAXM1=proptax CHCAREXP=childcare; 3713 DROP YEAR STATE; 3714 RUN; 3715 3716 DATA TAXSIM; 3717 SET TAXSIM(KEEP=taxsimid tyear tstate mstat page sage depx dep13 dep17 dep18 pwages swages dividends 3718 intrec stcg ltcg otherprop nonprop pensions gssi ui transfers rentpaid proptax otheritem 3719 childcare mortgage scorp pbusinc pprofinc sbusinc sprofinc idtl x42001 3720 ); 3721 data taxsim; 3722 set taxsim; 3723 *NBER got to put x42001 at the end of the variable list.; 66 The SAS System 10:41 Monday, May 31, 2021 3724 xx=x42001*1.; 3725 drop x42001; 3726 run; 3727 data taxsim; 3728 set taxsim; 3729 x42001=xx; 3730 drop xx; 3731 RENAME tyear=year tstate=state; 3732 if _n_ eq 1 then put _all_; 3733 RUN; 3734 3735 proc contents data=taxsim; 3736 endsas; 3737 3738 * output csv file for TAXSIM v32; 3739 PROC EXPORT DATA=TAXSIM OUTFILE=SCFTAX 3740 DBMS=CSV REPLACE; 3741 RUN; 3742 3743 %IF &HTAXFILE EQ YES %THEN %DO; 3744 * Merge full TAXSIM output file back into the main dataset; 3745 PROC IMPORT DATAFILE=TAXSIM 3746 OUT=FTAXSCFI DBMS=CSV REPLACE; 3747 GETNAMES=YES; 3748 RUN; 3749 3750 DATA FTAXSCFI; 3751 SET FTAXSCFI; 3752 RENAME taxsimid=TAXUNITID fiitax=FEDTAXLIAB siitax=STTAXLIAB frate=FEDMTR1 srate=STMTR1 3753 v10=TAGI v18=TAXINC v41=STBR fica=FICA state=STATE; 3754 3755 FEDITST=(v17>0); 3756 AMTFLG=(v27>0); 3757 * setting bracket rate to zero, as not in v32 output, asking Dan for a mod to get this; 3758 FEDBR=0; 3759 3760 DROP year v11 v12 v13 v14 v16 v16 v17 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 3761 v32 v33 v34 v35 v36 v37 v38 v39 v40; 3762 RUN; 3763 3764 PROC SORT DATA=FTAXSCFI; 3765 BY TAXUNITID; 3766 RUN; 3767 3768 PROC SORT DATA=SCF; 3769 BY TAXUNITID; 3770 RUN; 3771 3772 DATA TAXSCF; 3773 MERGE SCF (IN=IN1) FTAXSCFI; 3774 BY TAXUNITID STATE; 3775 IF IN1; 3776 RUN; 3777 3778 DATA TAXSCF; 3779 SET TAXSCF; 3780 3781 * only calculating average tax rates for hhs with positive taxable 67 The SAS System 10:41 Monday, May 31, 2021 3782 income and a positive tax liability; 3783 IF (TOTXINC > 0 & FEDTAXLIAB > 0) THEN FEDATR=(FEDTAXLIAB/TOTXINC)*100; 3784 ELSE FEDATR=0; 3785 IF (TOTXINC > 0 & STTAXLIAB > 0) THEN STATR=(STTAXLIAB/TOTXINC)*100; 3786 ELSE STATR=0; 3787 TOTATR=MIN(100,(FEDATR+STATR+PAYROLLATR)); 3788 PINCNZLIAB=(TOTXINC >= 0 & FEDTAXLIAB <= 0); 3789 NINCPLIAB=(TOTXINC < 0 & FEDTAXLIAB > 0); 3790 NINCNZLIAB=(TOTXINC < 0 & FEDTAXLIAB <=0); 3791 3792 * Create some TAXSIM AGI classes; 3793 TAGIGE50K=(TAGI >= 50000); 3794 TAGICL=0; 3795 IF (TAGI<=0) THEN TAGICL=1; 3796 ELSE IF (0 < TAGI < 5000) THEN TAGICL=2; 3797 ELSE IF (5000 <= TAGI < 10000) THEN TAGICL=3; 3798 ELSE IF (10000 <= TAGI < 15000) THEN TAGICL=4; 3799 ELSE IF (15000 <= TAGI < 20000) THEN TAGICL=5; 3800 ELSE IF (20000 <= TAGI < 25000) THEN TAGICL=6; 3801 ELSE IF (25000 <= TAGI < 30000) THEN TAGICL=7; 3802 ELSE IF (30000 <= TAGI < 40000) THEN TAGICL=8; 3803 ELSE IF (40000 <= TAGI < 50000) THEN TAGICL=9; 3804 ELSE IF (50000 <= TAGI < 75000) THEN TAGICL=10; 3805 ELSE IF (75000 <= TAGI < 100000) THEN TAGICL=11; 3806 ELSE IF (100000 <= TAGI < 200000) THEN TAGICL=12; 3807 ELSE IF (200000 <= TAGI < 500000) THEN TAGICL=13; 3808 ELSE IF (500000 <= TAGI < 1000000) THEN TAGICL=14; 3809 ELSE IF (1000000 <= TAGI < 1500000) THEN TAGICL=15; 3810 ELSE IF (1500000 <= TAGI < 2000000) THEN TAGICL=16; 3811 ELSE IF (2000000 <= TAGI < 5000000) THEN TAGICL=17; 3812 ELSE IF (5000000 <= TAGI < 10000000) THEN TAGICL=18; 3813 ELSE IF (TAGI >= 10000000) THEN TAGICL=19; 3814 3815 3816 * Checking out negative and high tax liabilities and rates; 3817 IF (FEDTAXLIAB < 0 | FEDMTR1 < 0) & FILESTAT > 0 & Y1=YY1*10+1 3818 THEN PUT "NEGATIVE FED TAX LIABILITY OR RATE " TAXUNITID= FEDTAXLIAB= FEDMTR1= FEDATR= 3819 FEDBR= STTAXLIAB= STMTR1= STATR= STBR= 3820 KIDS= AGEXMP= WSINCOME= WSINCSP= DIVINC= OTHPINC= PENINC= 3821 GSSINC= NONTAX= RENT= RESTAXM1= UNADJTOTDEDCT= CHCAREXP= UNEMPINC= FEDITST= CITEMIZE= 3822 TAXINC= TOTXINC= FILESTAT= TOTITEMDCT= ADJDEDCT= CHARITYAMT= RESTAXM1= 3823 TOTINVEX= TOTEXPT= KIDS= PERSEXP= X5744= X5746= AGI= 3824 STDDCT= CAPGLINC= TBUSINC= TINCOME= STATE= AMTFLG= /; 3825 3826 IF FEDMTR1 > 45 & FILESTAT > 0 & Y1=YY1*10+1 3827 THEN PUT "HIGH FED MTR1 " TAXUNITID= FEDTAXLIAB= FEDMTR1= FEDATR= 3828 FEDBR= STTAXLIAB= STMTR1= STATR= STBR= 3829 KIDS= AGEXMP= WSINCOME= WSINCSP= DIVINC= OTHPINC= PENINC= 3830 GSSINC= NONTAX= RENT= RESTAXM1= UNADJTOTDEDCT= CHCAREXP= UNEMPINC= FEDITST= CITEMIZE= 3831 TAXINC= TOTXINC= FILESTAT= TOTITEMDCT= ADJDEDCT= CHARITYAMT= RESTAXM1= 3832 TOTINVEX= TOTEXPT= KIDS= PERSEXP= X5744= X5746= AGI= 3833 STDDCT= CAPGLINC= TBUSINC= TINCOME= STATE= AMTFLG= /; 3834 3835 IF FEDTAXLIAB > 10000000 & FILESTAT > 0 & Y1=YY1*10+1 3836 THEN PUT "HIGH FED TAX LIABILITY " TAXUNITID= FEDTAXLIAB= FEDMTR1= FEDATR= 3837 FEDBR= STTAXLIAB= STMTR1= STATR= STBR= 3838 KIDS= AGEXMP= WSINCOME= WSINCSP= DIVINC= OTHPINC= PENINC= 3839 GSSINC= NONTAX= RENT= RESTAXM1= UNADJTOTDEDCT= CHCAREXP= UNEMPINC= FEDITST= CITEMIZE= 68 The SAS System 10:41 Monday, May 31, 2021 3840 TAXINC= TOTXINC= FILESTAT= TOTITEMDCT= ADJDEDCT= CHARITYAMT= RESTAXM1= 3841 TOTINVEX= TOTEXPT= KIDS= PERSEXP= X5744= X5746= AGI= 3842 STDDCT= CAPGLINC= TBUSINC= TINCOME= STATE= AMTFLG= /; 3843 3844 IF FEDATR > 50 & FILESTAT > 0 & Y1=YY1*10+1 3845 THEN PUT "HIGH FED ATR " TAXUNITID= FEDTAXLIAB= FEDMTR1= FEDATR= 3846 FEDBR= STTAXLIAB= STMTR1= STATR= STBR= 3847 KIDS= AGEXMP= WSINCOME= WSINCSP= DIVINC= OTHPINC= PENINC= 3848 GSSINC= NONTAX= RENT= RESTAXM1= UNADJTOTDEDCT= CHCAREXP= UNEMPINC= FEDITST= CITEMIZE= 3849 TAXINC= TOTXINC= FILESTAT= TOTITEMDCT= ADJDEDCT= CHARITYAMT= RESTAXM1= 3850 TOTINVEX= TOTEXPT= KIDS= PERSEXP= X5744= X5746= AGI= 3851 STDDCT= CAPGLINC= TBUSINC= TINCOME= STATE= AMTFLG= /; 3852 3853 RUN; 3854 3855 %END; 3856 3857 3858 %IF &HTAXFILE EQ YES %THEN %DO; 3859 * Compute stats on merged dataset, includes TAXSIM generated variables; 3860 PROC MEANS DATA=TAXSCF; 3861 WEIGHT WGT; 3862 VAR YEAR STATE FILESTAT KIDS KIDSU13 KIDSU17 KIDSU18 WSINCOME WSINCSP DIVINC 3863 RENTINC INTINC TBUSINC CHSPALINC OTHINC OTHPINC PENINC GSSINC NONTAX RENT RESTAXM1 3864 NTAXINC AFDCINC CHCAREXP UNEMPINC ADJDEDCT TOTINVEX TOTPINEX X5823 STCAPINC LTCAPINC 3865 FEDTAXLIAB STTAXLIAB TAXINC TAGI; 3866 RUN; 3867 3868 ******* The unit of observation in the default dataset created is the tax unit, which is not 3869 the same as the household. The code below creates two household level datasets from the 3870 tax units, the first aggregates tax units into PEU households, and the second aggregates 3871 tax units into PEU households and includes any NPEU tax units with those households. 3872 The household level datasets only include selected variables that can be easily aggregated, 3873 such as federal tax liability, and not variables such as marginal tax rates.; 3874 3875 * Create a tax unit level dataset with tax variables; 3876 DATA OUT.FTAX&SYR2.PTU; 3877 SET TAXSCF(KEEP= Y1 YY1 WGT YEAR TAXUNITID TAXUNIT FEDTAXLIAB STTAXLIAB FEDMTR1 STMTR1 3878 FEDBR STBR FEDATR STATR FEDITST AMTFLG PINCNZLIAB NINCPLIAB NINCNZLIAB 3879 FILESTAT KIDS PERSEXP AGI TOTEXPT AGEXMP CITEMIZE TOTITEMDCT STDDCT 3880 TOTEXPTAMT TAXINC TOTXINC TOTATR ITEMIZE TOTINVEX TOTPINEX 3881 WSINCOME WSINCSP DIVINC RENTINC INTINC TBUSINC CHSPALINC OTHINC 3882 OTHPINC PENINC GSSINC NONTAX RENT RESTAXM1 NTAXINC AFDCINC TINCOME 3883 CHCAREXP UNEMPINC ADJDEDCT TOTINVEX TOTPINEX X5823 STCAPINC LTCAPINC STATE 3884 PAYROLLIAB PAYROLLMTR PAYROLLATR FICA LWP NONFILER X5744 X5746 KIDSU17 3885 TUAGE SPAGE KIDSU13 KIDSU18 TAGI X5823); 3886 RUN; 3887 3888 PROC CONTENTS DATA=OUT.FTAX&SYR2.PTU; 3889 RUN; 3890 3891 * Create a household level dataset that sums tax liabilities for all 3892 tax units in household, including NPEU; 3893 PROC SORT DATA=TAXSCF OUT=TAXSCFHLNP; 3894 BY Y1; 3895 RUN; 3896 3897 * setting non-filers federal and state tax liability to zero; 69 The SAS System 10:41 Monday, May 31, 2021 3898 * with NPEU; 3899 DATA TAXSCFHLNP; 3900 SET TAXSCFHLNP; 3901 IF NONFILER=1 THEN DO; 3902 FEDTAXLIAB=0; 3903 STTAXLIAB=0; 3904 END; 3905 RUN; 3906 3907 PROC FREQ DATA=TAXSCFHLNP; 3908 WEIGHT WGT; 3909 TABLES FILESTAT*TAXUNIT; 3910 RUN; 3911 3912 PROC MEANS DATA=TAXSCFHLNP SUM NOPRINT; 3913 BY Y1; 3914 VAR FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC TOTXINC TINCOME TOTEXPTAMT TOTITEMDCT PERSEXP KIDS; 3915 OUTPUT OUT=STAXSCFHLNP SUM=FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC 3916 TOTXINC TINCOME TOTEXPTAMT TOTITEMDCT PERSEXP KIDS; 3917 RUN; 3918 3919 DATA WGT; 3920 SET MAIN(KEEP=Y1 X42001); 3921 WGT=X42001/5; 3922 RUN; 3923 3924 DATA STAXSCFHLNP; 3925 MERGE STAXSCFHLNP (IN=IN1) WGT; 3926 BY Y1; 3927 IF IN1=1; 3928 RUN; 3929 3930 DATA OUT.FTAX&SYR2.PHN; 3931 SET STAXSCFHLNP; 3932 RUN; 3933 3934 PROC CONTENTS DATA=OUT.FTAX&SYR2.PHN; 3935 RUN; 3936 3937 * without NPEU; 3938 DATA TAXSCFHL; 3939 SET TAXSCFHLNP; 3940 IF TAXUNIT <=2; 3941 RUN; 3942 3943 PROC FREQ DATA=TAXSCFHL; 3944 WEIGHT WGT; 3945 TABLES FILESTAT*TAXUNIT; 3946 RUN; 3947 3948 PROC MEANS DATA=TAXSCFHL SUM NOPRINT; 3949 BY Y1; 3950 VAR FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC TOTXINC TINCOME TOTEXPTAMT TOTITEMDCT PERSEXP KIDS; 3951 OUTPUT OUT=STAXSCFHL SUM=FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC 3952 TOTXINC TINCOME TOTEXPTAMT TOTITEMDCT PERSEXP KIDS; 3953 RUN; 3954 3955 DATA STAXSCFHL; 70 The SAS System 10:41 Monday, May 31, 2021 3956 MERGE STAXSCFHL (IN=IN1) WGT; 3957 BY Y1; 3958 IF IN1=1; 3959 RUN; 3960 3961 DATA OUT.FTAX&SYR2.PH; 3962 SET STAXSCFHL; 3963 RUN; 3964 3965 PROC CONTENTS DATA=OUT.FTAX&SYR2.PH; 3966 RUN; 3967 3968 PROC MEANS DATA=STAXSCFHLNP N MEAN MEDIAN SUM; 3969 WEIGHT WGT; 3970 TITLE "TAX UNITS COLLAPSED TO HOUSEHOLDS, WITH NPEU, &SYEAR SCF"; 3971 VAR FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC TOTXINC TINCOME; 3972 RUN; 3973 3974 PROC MEANS DATA=STAXSCFHL N MEAN MEDIAN SUM; 3975 WEIGHT WGT; 3976 TITLE "TAX UNITS COLLAPSED TO HOUSEHOLDS, WITHOUT NPEU, &SYEAR SCF "; 3977 VAR FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC TOTXINC TINCOME; 3978 RUN; 3979 3980 PROC MEANS DATA=TAXSCF N MEAN MEDIAN SUM; 3981 WEIGHT WGT; 3982 WHERE NONFILER=0; 3983 TITLE "TAX UNITS, &SYEAR SCF"; 3984 VAR FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC TOTXINC TINCOME; 3985 RUN; 3986 3987 PROC PRINT DATA=TAXSCF; 3988 WHERE FEDTAXLIAB=.; 3989 TITLE "MISSING TAX LIABILITY, &SYEAR SCF"; 3990 VAR Y1 TAXUNITID FEDTAXLIAB STTAXLIAB FICA TAGI TAXINC TOTXINC TINCOME; 3991 RUN; 3992 3993 %END; 3994 %MEND; 3995 3996 * set HTAXFILE=YES if you have do not have the TAXSIM output dataset, set HTAXFILE=YES 3997 if you have the TAXSIM output dataset; 3998 3999 %TAXSCF(SYEAR=2019,TYEAR=2018,WYEAR=2016,ITDLIM1=0,ITDLIM2=0,ITDL10=0,EXPAMT=0, 4000 EXPAMT2=0,EXDL9=0,EXPAGIT1=0,EXPAGIT2=0,EXLIM1=0,EXLIM2=0, 4001 EXLIM3=0,EXLIM4=0,STDAMT1=12000,STDAMT2=13600,STDAMT3=24000,STDAMT4=25300, 4002 STDAMT5=26600,STDAMT6=18000,STDAMT7=19600,FILELIM1=12000,FILELIM2=13600,FILELIM3=24000,FILELIM4=25300, 4003 FILELIM5=26600,FILELIM6=5,FILELIM7=18000,FILELIM8=19600,FILELIM9=24000,FILELIM10=25300,LCGAGI1=.87, 4004 4005 LCLAGI1=.62,LCGAGI2=.86,LCLAGI2=.66,LCGAGI3=.94,LCLAGI3=.87,PAYTAX=.124,MEDHI=.029,PTLIM=128400); NOTE: Libref SCF19 was successfully assigned as follows: Engine: V9 Physical Name: /disk/homedirs/nber/taxsim/public_html/to-taxsim/scf27-32/orig/sas NOTE: Libref OUT was successfully assigned as follows: Engine: V9 Physical Name: /disk/homedirs/nber/taxsim/public_html/to-taxsim/scf27-32/byhousehold/sas NOTE: Data file SCF19.P19I6.DATA is in a format that is native to another host, or the file encoding does not match the session encoding. Cross Environment Data Access will be used, which might require additional CPU resources and 71 The SAS System 10:41 Monday, May 31, 2021 might reduce performance. NOTE: There were 28885 observations read from the data set SCF19.P19I6. NOTE: The data set WORK.MAIN has 28885 observations and 5333 variables. NOTE: DATA statement used (Total process time): real time 0.78 seconds cpu time 0.77 seconds NOTE: There were 28885 observations read from the data set WORK.MAIN. NOTE: The data set WORK.MAIN has 28885 observations and 5333 variables. NOTE: PROCEDURE SORT used (Total process time): real time 0.57 seconds cpu time 0.57 seconds NOTE: There were 28885 observations read from the data set WORK.MAIN. NOTE: The data set WORK.SCF has 28885 observations and 5351 variables. NOTE: DATA statement used (Total process time): real time 0.57 seconds cpu time 0.57 seconds NOTE: There were 28885 observations read from the data set WORK.SCF. NOTE: The PROCEDURE FREQ printed pages 1-5. NOTE: PROCEDURE FREQ used (Total process time): real time 0.14 seconds cpu time 0.12 seconds NOTE: There were 28885 observations read from the data set WORK.SCF. NOTE: The data set WORK.NEWUNITS has 2945 observations and 5351 variables. NOTE: DATA statement used (Total process time): real time 0.29 seconds cpu time 0.30 seconds NOTE: There were 28885 observations read from the data set WORK.SCF. NOTE: There were 2945 observations read from the data set WORK.NEWUNITS. NOTE: The data set WORK.SCF has 31830 observations and 5351 variables. NOTE: DATA statement used (Total process time): real time 1.30 seconds cpu time 0.78 seconds NOTE: There were 31830 observations read from the data set WORK.SCF. NOTE: The PROCEDURE FREQ printed pages 6-10. NOTE: PROCEDURE FREQ used (Total process time): real time 0.09 seconds cpu time 0.08 seconds 72 The SAS System 10:41 Monday, May 31, 2021 NOTE: There were 31830 observations read from the data set WORK.SCF. NOTE: The data set WORK.SCF has 31830 observations and 5393 variables. NOTE: DATA statement used (Total process time): real time 2.78 seconds cpu time 0.99 seconds NOTE: There were 3335 observations read from the data set WORK.SCF. WHERE TAXUNIT in (0, 1) and (X7050>=1); NOTE: The data set WORK.TEMP has 0 observations and 5393 variables. NOTE: The data set WORK.NPEU has 4465 observations and 5393 variables. NOTE: DATA statement used (Total process time): real time 0.19 seconds cpu time 0.18 seconds NOTE: There were 4465 observations read from the data set WORK.NPEU. NOTE: The data set WORK.NPEU has 4465 observations and 5396 variables. NOTE: DATA statement used (Total process time): real time 0.12 seconds cpu time 0.13 seconds NOTE: There were 4465 observations read from the data set WORK.NPEU. NOTE: The PROCEDURE FREQ printed page 11. NOTE: PROCEDURE FREQ used (Total process time): real time 0.01 seconds cpu time 0.01 seconds NOTE: There were 4465 observations read from the data set WORK.NPEU. NOTE: The PROCEDURE FREQ printed page 12. NOTE: PROCEDURE FREQ used (Total process time): real time 0.01 seconds cpu time 0.02 seconds NOTE: There were 4465 observations read from the data set WORK.NPEU. NOTE: The PROCEDURE MEANS printed page 13. NOTE: PROCEDURE MEANS used (Total process time): real time 0.01 seconds cpu time 0.02 seconds NOTE: There were 31830 observations read from the data set WORK.SCF. NOTE: There were 4465 observations read from the data set WORK.NPEU. NOTE: The data set WORK.SCF has 36295 observations and 5396 variables. NOTE: DATA statement used (Total process time): real time 0.80 seconds cpu time 0.80 seconds 73 The SAS System 10:41 Monday, May 31, 2021 NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The PROCEDURE MEANS printed page 14. NOTE: PROCEDURE MEANS used (Total process time): real time 0.10 seconds cpu time 0.12 seconds NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The PROCEDURE FREQ printed pages 15-19. NOTE: PROCEDURE FREQ used (Total process time): real time 0.08 seconds cpu time 0.09 seconds NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The PROCEDURE FREQ printed pages 20-24. NOTE: PROCEDURE FREQ used (Total process time): real time 0.08 seconds cpu time 0.08 seconds ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=381 x1814=3000000 CMOPAYO2=22000 AMOPAYO2=25315.7 x1826=600 x1820=3 TLMTHO2=180 x1821=1 x1822=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=751 x5744=1 x5746=2 GRFAMTOUTM=0 HAAMTOUTM=148000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=1851 x1714=150000 CMOPAYO1=1100 AMOPAYO1=1109.53 x1726=400 x1720=2 TLMTHO1=180 x1721=1 x1722=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=1921 x1814=4000 CMOPAYO2=100 AMOPAYO2=184.58 x1826=1000 x1820=3 TLMTHO2=24 x1821=1 x1822=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=2041 TOTINVEX=1879.9037462 TOTLOCINVEX=0 TOTINVPDCT=1879.9037462 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=2171 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=650 CMOPAYM1=650 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=135000 j805=1012 AMTOWEM1=123888.49285 AMTOWE_1M1=125694.5442 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=480 x804=127000 j804=1012 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=2411 x1714=200000 CMOPAYO1=1000 AMOPAYO1=1449.49 x1726=370 x1720=3 TLMTHO1=180 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=2411 TOTINVEX=2836.2284955 TOTLOCINVEX=0 TOTINVPDCT=2836.2284955 TOTLNINVEX=0 TOTINTINC=140 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=2861 x804=485000 CMOPAYM1=2300 AMOPAYM1=2457.42 x816=450 x810=3 x721=1500 x722=6 RESTAXM1=1500 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=3001 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=940 CMOPAYM1=714.66 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=128000 j805=0 AMTOWEM1=137000.60366 AMTOWE_1M1=139016.74565 74 The SAS System 10:41 Monday, May 31, 2021 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=475 x804=137000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=3091 x804=444000 CMOPAYM1=2800 AMOPAYM1=2808.96 x816=450 x810=3 x721=4400 x722=6 RESTAXM1=4400 TLMTHM1=240 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=3191 x804=113000 CMOPAYM1=540 AMOPAYM1=559.2 x816=430 x810=3 x721=3200 x722=6 RESTAXM1=3200 TLMTHM1=360 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=3341 x5744=1 x5746=1 GRFAMTOUTM=0 HAAMTOUTM=43000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 TOO MUCH INVESTMENT INTEREST EXPENSES y1=3481 TOTINVEX=3727.1213307 TOTLOCINVEX=0 TOTINVPDCT=3727.1213307 TOTLNINVEX=0 TOTINTINC=20 TOO MUCH INVESTMENT INTEREST EXPENSES y1=3561 TOTINVEX=13224.837911 TOTLOCINVEX=0 TOTINVPDCT=13224.837911 TOTLNINVEX=0 TOTINTINC=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=3811 TOTINVEX=15798.673316 TOTLOCINVEX=0 TOTINVPDCT=15798.673316 TOTLNINVEX=0 TOTINTINC=3520 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=3901 x804=175000 CMOPAYM1=1700 AMOPAYM1=1757.69 x816=383 x810=3 x721=2000 x722=6 RESTAXM1=2000 TLMTHM1=120 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=3981 TOTINVEX=44400 TOTLOCINVEX=0 TOTINVPDCT=44400 TOTLNINVEX=0 TOTINTINC=5370 TOO MUCH INVESTMENT INTEREST EXPENSES y1=4161 TOTINVEX=46502.267413 TOTLOCINVEX=0 TOTINVPDCT=46502.267413 TOTLNINVEX=0 TOTINTINC=17300 TOO MUCH INVESTMENT INTEREST EXPENSES y1=4751 TOTINVEX=8838.8012116 TOTLOCINVEX=0 TOTINVPDCT=8838.8012116 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=5451 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1500 CMOPAYM1=1020.82 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=209000 j805=0 AMTOWEM1=210000.62171 AMTOWE_1M1=213457.24217 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=415 x804=210000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=5811 x804=190000 CMOPAYM1=850 AMOPAYM1=859.4 x816=200 x810=3 x721=1600 x722=6 RESTAXM1=1600 TLMTHM1=276 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=6381 x5744=5 x5746=0 GRFAMTOUTM=0 HAAMTOUTM=102000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 TOO MUCH INVESTMENT INTEREST EXPENSES y1=6461 TOTINVEX=38610.881411 TOTLOCINVEX=0 TOTINVPDCT=38610.881411 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=6511 x804=59000 CMOPAYM1=350 AMOPAYM1=423.81 x816=357 x810=3 x721=360 x722=6 RESTAXM1=360 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=7071 x804=750000 CMOPAYM1=3100 AMOPAYM1=3367.84 x816=350 x810=2 x721=-1 x722=-1 RESTAXM1=0 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=7081 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1000 CMOPAYM1=1000 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=190000 j805=0 AMTOWEM1=199696.0984 AMTOWE_1M1=202834.17737 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=440 x804=190000 j804=0 x7571=2 x811=1 x812=0 75 The SAS System 10:41 Monday, May 31, 2021 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=7121 x804=350000 CMOPAYM1=1900 AMOPAYM1=1960.99 x816=538 x810=3 x721=6000 x722=6 RESTAXM1=6000 TLMTHM1=360 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=7901 x5744=1 x5746=1 GRFAMTOUTM=0 HAAMTOUTM=9600 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=0 x714=0 x7135=0 x723=2 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=7931 x804=99000 CMOPAYM1=570 AMOPAYM1=626.32 x816=450 x810=3 x721=2000 x722=6 RESTAXM1=2000 TLMTHM1=240 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=8291 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=5000 CMOPAYM1=5000 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=1100000 j805=0 AMTOWEM1=1073059.5814 AMTOWE_1M1=1091893.4074 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=380 x804=1100000 j804=0 x7571=2 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=8501 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1500 CMOPAYM1=830.73 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=185000 j805=0 AMTOWEM1=184999.40486 AMTOWE_1M1=188427.84121 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=350 x804=185000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=8531 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=20000 CMOPAYM1=11226.12 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=1300000 j805=0 AMTOWEM1=2500000.6246 AMTOWE_1M1=2546331.0061 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=350 x804=2500000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=8641 x804=150000 CMOPAYM1=750 AMOPAYM1=899.33 x816=600 x810=3 x721=610 x722=6 RESTAXM1=610 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=9011 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2700 CMOPAYM1=1670.95 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=315000 j805=0 AMTOWEM1=349999.25974 AMTOWE_1M1=355921.58937 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=400 x804=350000 j804=0 x7571=2 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=9161 x5744=1 x5746=1 GRFAMTOUTM=0 HAAMTOUTM=10000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 TOO MUCH INVESTMENT INTEREST EXPENSES y1=9231 TOTINVEX=2110215.852 TOTLOCINVEX=0 TOTINVPDCT=2110215.852 TOTLNINVEX=0 TOTINTINC=360000 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=9401 x804=48000 CMOPAYM1=450 AMOPAYM1=529.97 x816=400 x810=3 x721=630 x722=6 RESTAXM1=630 TLMTHM1=108 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=9491 TOTINVEX=52070.192829 TOTLOCINVEX=0 TOTINVPDCT=52070.192829 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=9761 x804=191000 CMOPAYM1=1300 AMOPAYM1=1377.65 x816=363 x810=3 x721=1900 x722=6 RESTAXM1=1900 TLMTHM1=180 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=9841 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2700 CMOPAYM1=2280.08 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=435000 j805=0 AMTOWEM1=449999.23143 AMTOWE_1M1=456939.88666 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=450000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=10011 x1714=662000 CMOPAYO1=3300 AMOPAYO1=4651.67 x1726=325 x1720=2 TLMTHO1=180 x1721=1 x1722=0 76 The SAS System 10:41 Monday, May 31, 2021 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=10091 x804=135000 CMOPAYM1=850 AMOPAYM1=898.16 x816=700 x810=3 x721=690 x722=6 RESTAXM1=690 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=10211 x1714=400000 CMOPAYO1=1800 AMOPAYO1=2859.53 x1726=350 x1720=3 TLMTHO1=180 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=10521 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=780 CMOPAYM1=780 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=161000 j805=0 AMTOWEM1=160844.55023 AMTOWE_1M1=163501.84987 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=413 x804=161000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=11111 x804=150000 CMOPAYM1=800 AMOPAYM1=823.67 x816=520 x810=3 x721=900 x722=6 RESTAXM1=900 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=11261 x804=600000 CMOPAYM1=2000 AMOPAYM1=3479.76 x816=350 x810=3 x721=15000 x722=6 RESTAXM1=15000 TLMTHM1=240 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=11351 x804=185000 CMOPAYM1=600 AMOPAYM1=730.97 x816=250 x810=3 x721=3000 x722=6 RESTAXM1=3000 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=11471 x804=100000 CMOPAYM1=480 AMOPAYM1=489.02 x816=420 x810=1 x721=2900 x722=6 RESTAXM1=2900 TLMTHM1=360 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=11821 TOTINVEX=12384.813609 TOTLOCINVEX=0 TOTINVPDCT=12384.813609 TOTLNINVEX=0 TOTINTINC=2800 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=11941 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2600 CMOPAYM1=2600 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=545000 j805=0 AMTOWEM1=513139.01342 AMTOWE_1M1=521053.518 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=550000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=12501 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2200 CMOPAYM1=1229.85 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=250000 j805=0 AMTOWEM1=250000.05535 AMTOWE_1M1=254039.65531 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=425 x804=250000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=12731 x804=248000 CMOPAYM1=1200 AMOPAYM1=1307.22 x816=375 x810=3 x721=1800 x722=6 RESTAXM1=1800 TLMTHM1=288 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=12901 x830=1 x907=-1 x906=-1 TLMTHM2=-1 x909=0 x908=0 CMOPAYM2=70 x913=70 x914=4 x902=2015 PAYLFTM2=0 LNAGEM2=0 x905=8000 j905=0 AMTOWEM2=0 AMTOWE_1M2=0 AINTDCTM2=0 CURBALM2=0 CURBAL_1M2=0 CINTDCTM2=0 AVINTDCTM2=0 DCTDIFFM2=0 SINTDCTM2=0 x916=-1 x904=50000 j904=0 x7570=0 x911=1 x912=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=12961 x804=755000 CMOPAYM1=4800 AMOPAYM1=5305.15 x816=325 x810=3 x721=8300 x722=6 RESTAXM1=8300 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=13221 x804=40000 CMOPAYM1=100 AMOPAYM1=195.61 x816=420 x810=2 x721=-1 x722=-1 RESTAXM1=0 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=13471 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=700 CMOPAYM1=545.38 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=95000 j805=0 AMTOWEM1=95000.865454 AMTOWE_1M1=96189.028428 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=560 x804=95000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=13571 TOTINVEX=1719.8561028 TOTLOCINVEX=0 TOTINVPDCT=1719.8561028 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=13731 x804=22000 CMOPAYM1=180 AMOPAYM1=212.43 x816=300 77 The SAS System 10:41 Monday, May 31, 2021 x810=3 x721=1700 x722=6 RESTAXM1=1700 TLMTHM1=120 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=13811 x804=400000 CMOPAYM1=3000 AMOPAYM1=3009.11 x816=425 x810=3 x721=5000 x722=6 RESTAXM1=5000 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=13921 x804=201000 CMOPAYM1=1300 AMOPAYM1=1793.19 x816=688 x810=3 x721=2900 x722=6 RESTAXM1=2900 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=14231 x804=675000 CMOPAYM1=4400 AMOPAYM1=4743.01 x816=325 x810=3 x721=14000 x722=6 RESTAXM1=14000 TLMTHM1=180 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=14701 TOTINVEX=33623.416667 TOTLOCINVEX=0 TOTINVPDCT=33623.416667 TOTLNINVEX=0 TOTINTINC=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=14791 TOTINVEX=31800.561491 TOTLOCINVEX=0 TOTINVPDCT=31800.561491 TOTLNINVEX=0 TOTINTINC=5200 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=14861 x804=192000 CMOPAYM1=1100 AMOPAYM1=1213.57 x816=650 x810=3 x721=330 x722=6 RESTAXM1=330 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=15201 x1714=235000 CMOPAYO1=1400 AMOPAYO1=1408.94 x1726=600 x1720=3 TLMTHO1=360 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=15251 TOTINVEX=3397.4188362 TOTLOCINVEX=0 TOTINVPDCT=3397.4188362 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=15261 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2600 CMOPAYM1=1824.07 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=360000 j805=0 AMTOWEM1=360000.56931 AMTOWE_1M1=365553.11176 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=360000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=15331 x1714=191000 CMOPAYO1=1500 AMOPAYO1=3604.41 x1726=500 x1720=1 TLMTHO1=60 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=15461 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2900 CMOPAYM1=1907.36 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=400000 j805=0 AMTOWEM1=400000.87003 AMTOWE_1M1=406781.71252 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=399 x804=400000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=15521 x723=1 x807=120 x806=10 TLMTHM1=120 x809=4 x808=800 CMOPAYM1=514.21 x813=0 x814=0 x802=2019 PAYLFTM1=120 LNAGEM1=0 x805=28000 j805=1041 AMTOWEM1=52000.352851 AMTOWE_1M1=56269.492584 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=350 x804=52000 j804=1041 x7571=2 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=15531 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2300 CMOPAYM1=1778.62 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=311000 j805=1041 AMTOWEM1=339000.84793 AMTOWE_1M1=343942.81571 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=480 x804=339000 j804=1041 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=16081 x1714=150000 CMOPAYO1=1000 AMOPAYO1=1100.65 x1726=800 x1720=3 TLMTHO1=360 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=16081 TOTINVEX=9924.6568963 TOTLOCINVEX=0 TOTINVPDCT=9924.6568963 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=16111 x804=50000 CMOPAYM1=1300 AMOPAYM1=1348.69 x816=500 x810=3 x721=800 x722=6 RESTAXM1=800 TLMTHM1=36 x811=2 x812=5000 78 The SAS System 10:41 Monday, May 31, 2021 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=16131 x1714=1000000 CMOPAYO1=6000 AMOPAYO1=7099.82 x1726=340 x1720=3 TLMTHO1=180 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=16171 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1200 CMOPAYM1=1200 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=248000 j805=0 AMTOWEM1=267233.98196 AMTOWE_1M1=272186.40166 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=350 x804=250000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=16671 TOTINVEX=60 TOTLOCINVEX=0 TOTINVPDCT=60 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=16731 x804=116000 CMOPAYM1=900 AMOPAYM1=933.36 x816=900 x810=3 x721=1200 x722=6 RESTAXM1=1200 TLMTHM1=360 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=16741 TOTINVEX=920.1495765 TOTLOCINVEX=0 TOTINVPDCT=920.1495765 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=16831 x804=250000 CMOPAYM1=1300 AMOPAYM1=1449.9 x816=350 x810=3 x721=1300 x722=6 RESTAXM1=1300 TLMTHM1=240 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=16991 x1714=285000 CMOPAYO1=1800 AMOPAYO1=2037.42 x1726=350 x1720=3 TLMTHO1=180 x1721=1 x1722=0 NEGATIVE AGI BUT CHARITYAMT > 0 y1=17011 x5823=60000 CHARITYAMT=60000 x5744=1 x5746=1 AGI=-2000 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=17981 x723=1 x807=300 x806=25 TLMTHM1=300 x809=4 x808=550 CMOPAYM1=550 x813=0 x814=0 x802=2002 PAYLFTM1=96 LNAGEM1=204 x805=15000 j805=0 AMTOWEM1=0 AMTOWE_1M1=0 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=-1 x804=50000 j804=0 x7571=1 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=17981 x5744=1 x5746=0 GRFAMTOUTM=0 HAAMTOUTM=15000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=1 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=18101 x804=1120000 CMOPAYM1=7700 AMOPAYM1=7842.7 x816=320 x810=3 x721=21000 x722=6 RESTAXM1=21000 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=18131 x804=154000 CMOPAYM1=790 AMOPAYM1=803.34 x816=475 x810=3 x721=1600 x722=6 RESTAXM1=1600 TLMTHM1=360 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=18141 TOTINVEX=128808.1778 TOTLOCINVEX=0 TOTINVPDCT=128808.1778 TOTLNINVEX=0 TOTINTINC=11000 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=18311 x5744=6 x5746=1 GRFAMTOUTM=0 HAAMTOUTM=0 ADJAMTOUTO=150 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=1 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=0 x714=0 x7135=0 x723=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=18321 x1714=180000 CMOPAYO1=1300 AMOPAYO1=1320.78 x1726=800 x1720=3 TLMTHO1=360 x1721=1 x1722=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=18331 x5744=1 x5746=1 GRFAMTOUTM=0 HAAMTOUTM=265000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=19221 x804=170000 CMOPAYM1=830 AMOPAYM1=831.33 x816=420 x810=2 x721=6000 x722=6 RESTAXM1=6000 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=19341 x804=300000 CMOPAYM1=900 AMOPAYM1=1372.38 x816=365 x810=3 x721=2500 x722=6 RESTAXM1=2500 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=19491 x723=1 x807=180 x806=15 TLMTHM1=180 x809=4 x808=860 CMOPAYM1=860 x813=0 79 The SAS System 10:41 Monday, May 31, 2021 x814=0 x802=2019 PAYLFTM1=180 LNAGEM1=0 x805=124000 j805=0 AMTOWEM1=117855.76336 AMTOWE_1M1=123578.76315 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=380 x804=125000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=19491 x1714=20000 CMOPAYO1=230 AMOPAYO1=253.35 x1726=900 x1720=1 TLMTHO1=120 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=19691 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2200 CMOPAYM1=1598.8 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=325000 j805=0 AMTOWEM1=324999.05557 AMTOWE_1M1=330250.51909 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=425 x804=325000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=19941 x1814=175000 CMOPAYO2=960 AMOPAYO2=960.94 x1826=520 x1820=3 TLMTHO2=360 x1821=1 x1822=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=20011 x723=1 x807=60 x806=5 TLMTHM1=60 x809=4 x808=100 CMOPAYM1=100 x813=0 x814=0 x802=2005 PAYLFTM1=-108 LNAGEM1=168 x805=100 j805=0 AMTOWEM1=0 AMTOWE_1M1=0 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=-1 x804=5000 j804=0 x7571=1 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=20011 x5744=1 x5746=1 GRFAMTOUTM=0 HAAMTOUTM=100 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=0 x714=0 x7135=0 x723=1 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=20031 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1900 CMOPAYM1=1646.67 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=327000 j805=0 AMTOWEM1=330000.34356 AMTOWE_1M1=335215.10813 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=437 x804=330000 j804=0 x7571=2 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=20041 TOTINVEX=3372.6798339 TOTLOCINVEX=0 TOTINVPDCT=3372.6798339 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=20201 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1500 CMOPAYM1=951.71 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=183000 j805=0 AMTOWEM1=184999.65291 AMTOWE_1M1=187784.35786 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=463 x804=185000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=20451 x1714=1840000 CMOPAYO1=10000 AMOPAYO1=11031.73 x1726=600 x1720=3 TLMTHO1=360 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=20591 TOTINVEX=5493.9731805 TOTLOCINVEX=0 TOTINVPDCT=5493.9731805 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=21231 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1200 CMOPAYM1=1200 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=200000 j805=0 AMTOWEM1=251353.48855 AMTOWE_1M1=255606.63529 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=400 x804=201000 j804=0 x7571=1 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=21831 x5744=1 x5746=1 GRFAMTOUTM=0 HAAMTOUTM=10000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=0 x714=0 x7135=0 x723=2 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=21991 x804=365000 CMOPAYM1=1600 AMOPAYM1=1795.58 x816=425 x810=3 x721=6000 x722=6 RESTAXM1=6000 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=22401 x804=200000 CMOPAYM1=1100 AMOPAYM1=1265.3 x816=450 x810=3 x721=2300 x722=6 RESTAXM1=2300 TLMTHM1=240 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=22411 x723=1 x807=20 x806=20 TLMTHM1=240 x809=6 x808=10000 80 The SAS System 10:41 Monday, May 31, 2021 CMOPAYM1=833.33333333 x813=0 x814=0 x802=2019 PAYLFTM1=240 LNAGEM1=0 x805=200000 j805=0 AMTOWEM1=153704.37503 AMTOWE_1M1=159392.42097 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=275 x804=200000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=22601 TOTINVEX=19355.911851 TOTLOCINVEX=0 TOTINVPDCT=19355.911851 TOTLNINVEX=0 TOTINTINC=0 ERR CANNOT TRANSLATE PER FOR y1=22791 x2719=100 x2720=22 CMOPAYI1=. ERR CANNOT TRANSLATE PER FOR y1=22791 x2736=100 x2737=22 CMOPAYI2=. ERR CANNOT TRANSLATE PER FOR y1=22792 x2719=100 x2720=22 CMOPAYI1=. ERR CANNOT TRANSLATE PER FOR y1=22792 x2736=100 x2737=22 CMOPAYI2=. ERR CANNOT TRANSLATE PER FOR y1=22793 x2719=100 x2720=22 CMOPAYI1=. ERR CANNOT TRANSLATE PER FOR y1=22793 x2736=100 x2737=22 CMOPAYI2=. ERR CANNOT TRANSLATE PER FOR y1=22794 x2719=100 x2720=22 CMOPAYI1=. ERR CANNOT TRANSLATE PER FOR y1=22794 x2736=100 x2737=22 CMOPAYI2=. ERR CANNOT TRANSLATE PER FOR y1=22795 x2719=100 x2720=22 CMOPAYI1=. ERR CANNOT TRANSLATE PER FOR y1=22795 x2736=100 x2737=22 CMOPAYI2=. ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=23111 x1814=250000 CMOPAYO2=1200 AMOPAYO2=1215.26 x1826=415 x1820=3 TLMTHO2=360 x1821=1 x1822=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=23111 TOTINVEX=1457.2279113 TOTLOCINVEX=0 TOTINVPDCT=1457.2279113 TOTLNINVEX=0 TOTINTINC=40 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=23121 x804=70000 CMOPAYM1=480 AMOPAYM1=483.41 x816=300 x810=3 x721=800 x722=6 RESTAXM1=800 TLMTHM1=180 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=23371 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1600 CMOPAYM1=1216.04 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=235000 j805=0 AMTOWEM1=239999.0638 AMTOWE_1M1=243700.73847 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=240000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=23711 x804=244000 CMOPAYM1=1600 AMOPAYM1=1774.42 x816=375 x810=3 x721=7000 x722=6 RESTAXM1=7000 TLMTHM1=180 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=23811 TOTINVEX=32561.407652 TOTLOCINVEX=0 TOTINVPDCT=32561.407652 TOTLNINVEX=0 TOTINTINC=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=23841 TOTINVEX=6832.1672207 TOTLOCINVEX=0 TOTINVPDCT=6832.1672207 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=24051 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1100 CMOPAYM1=803.62 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=162000 j805=1041 AMTOWEM1=171000.75847 AMTOWE_1M1=173963.9858 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=387 x804=171000 j804=1041 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=24591 x804=308000 CMOPAYM1=1200 AMOPAYM1=1470.44 x816=400 x810=3 x721=1000 x722=5 RESTAXM1=4000 TLMTHM1=360 x811=1 x812=0 81 The SAS System 10:41 Monday, May 31, 2021 TOO MUCH INVESTMENT INTEREST EXPENSES y1=24741 TOTINVEX=20487.276449 TOTLOCINVEX=0 TOTINVPDCT=20487.276449 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=24771 x1714=350000 CMOPAYO1=500 AMOPAYO1=1700.91 x1726=400 x1720=3 TLMTHO1=348 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=24891 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=660 CMOPAYM1=512.91 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=82000 j805=0 AMTOWEM1=81999.225332 AMTOWE_1M1=82875.520458 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=640 x804=82000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=25231 x804=110000 CMOPAYM1=500 AMOPAYM1=582.89 x816=250 x810=3 x721=1500 x722=6 RESTAXM1=1500 TLMTHM1=240 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=25381 TOTINVEX=1597.5935408 TOTLOCINVEX=0 TOTINVPDCT=1597.5935408 TOTLNINVEX=0 TOTINTINC=500 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=25581 x804=129000 CMOPAYM1=380 AMOPAYM1=606.97 x816=388 x810=3 x721=90 x722=4 RESTAXM1=1080 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=25581 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=380 CMOPAYM1=380 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=50000 j805=0 AMTOWEM1=80761.173796 AMTOWE_1M1=82158.107612 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=388 x804=129000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=25641 x804=168000 CMOPAYM1=1300 AMOPAYM1=1643.11 x816=900 x810=1 x721=250 x722=4 RESTAXM1=3000 TLMTHM1=180 x811=2 x812=6000 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=25671 x1814=3000000 CMOPAYO2=9900 AMOPAYO2=13056.19 x1826=325 x1820=1 TLMTHO2=360 x1821=1 x1822=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=25691 TOTINVEX=14560 TOTLOCINVEX=0 TOTINVPDCT=14560 TOTLNINVEX=0 TOTINTINC=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=25801 TOTINVEX=2697.1634222 TOTLOCINVEX=0 TOTINVPDCT=2697.1634222 TOTLNINVEX=0 TOTINTINC=20 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=25881 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=13000 CMOPAYM1=13000 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=1560000 j805=1041 AMTOWEM1=3184392.1204 AMTOWE_1M1=3251812.8349 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=275 x804=3010000 j804=1041 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=26021 x804=126000 CMOPAYM1=740 AMOPAYM1=797.14 x816=450 x810=2 x721=1600 x722=6 RESTAXM1=1600 TLMTHM1=240 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=26241 x1714=540000 CMOPAYO1=2900 AMOPAYO1=2981.9 x1726=525 x1720=3 TLMTHO1=360 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=26921 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2300 CMOPAYM1=1385.39 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=285000 j805=0 AMTOWEM1=284999.08045 AMTOWE_1M1=289690.1792 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=415 x804=285000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=26961 x1814=300000 CMOPAYO2=333.33333333 AMOPAYO2=1485.64 x1826=400 x1820=3 TLMTHO2=336 x1821=1 x1822=0 MORTGAGE GREATER THAN FMV FOR PRIMARY RESIDENCE y1=26961 HOUSE=15000 GRFAMTOUTM=0 HAAMTOUTM=0 TOTAQDBTL=0 ADJEQDBTL=15000 TOTEQDBTL=100000 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=975 x701=1 x501=3 x503=0 x723=5 82 The SAS System 10:41 Monday, May 31, 2021 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=27051 x723=1 x807=60 x806=5 TLMTHM1=60 x809=4 x808=750 CMOPAYM1=699.36 x813=0 x814=0 x802=2019 PAYLFTM1=60 LNAGEM1=0 x805=39000 j805=1041 AMTOWEM1=39999.891953 AMTOWE_1M1=47554.241655 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=190 x804=40000 j804=5 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=27401 TOTINVEX=2905949.7342 TOTLOCINVEX=0 TOTINVPDCT=2905949.7342 TOTLNINVEX=0 TOTINTINC=240000 TOO MUCH INVESTMENT INTEREST EXPENSES y1=27631 TOTINVEX=23781.333333 TOTLOCINVEX=0 TOTINVPDCT=23781.333333 TOTLNINVEX=0 TOTINTINC=380 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=27701 x804=802000 CMOPAYM1=5700 AMOPAYM1=6135.25 x816=450 x810=3 x721=19000 x722=6 RESTAXM1=19000 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=28201 x804=120000 CMOPAYM1=800 AMOPAYM1=822.94 x816=290 x810=3 x721=2800 x722=6 RESTAXM1=2800 TLMTHM1=180 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=28881 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=3800 CMOPAYM1=3473.37 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=744000 j805=0 AMTOWEM1=750000.66144 AMTOWE_1M1=763284.70111 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=375 x804=750000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=29151 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2600 CMOPAYM1=1990.3 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=405000 j805=0 AMTOWEM1=407000.02106 AMTOWE_1M1=413637.64695 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=420 x804=407000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=30231 x804=266000 CMOPAYM1=1300 AMOPAYM1=1328.88 x816=438 x810=3 x721=8000 x722=6 RESTAXM1=8000 TLMTHM1=360 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=30821 TOTINVEX=1103.4817748 TOTLOCINVEX=0 TOTINVPDCT=1103.4817748 TOTLNINVEX=0 TOTINTINC=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=30911 TOTINVEX=43701.951407 TOTLOCINVEX=0 TOTINVPDCT=43701.951407 TOTLNINVEX=0 TOTINTINC=3300 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=31421 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=3900 CMOPAYM1=2941.24 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=655000 j805=0 AMTOWEM1=654999.39758 AMTOWE_1M1=667137.94334 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=350 x804=655000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=31541 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1100 CMOPAYM1=582.45 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=123000 j805=0 AMTOWEM1=125000.71064 AMTOWE_1M1=127194.66303 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=380 x804=125000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=31721 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1600 CMOPAYM1=1463.67 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=220000 j805=0 AMTOWEM1=220000.67798 AMTOWE_1M1=222084.80479 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=700 x804=220000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=31911 TOTINVEX=17854.012951 TOTLOCINVEX=0 TOTINVPDCT=17854.012951 TOTLNINVEX=0 TOTINTINC=7000 TOO MUCH INVESTMENT INTEREST EXPENSES y1=32111 TOTINVEX=10963.936291 TOTLOCINVEX=0 TOTINVPDCT=10963.936291 TOTLNINVEX=0 TOTINTINC=3000 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=32251 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=800 CMOPAYM1=800 x813=0 83 The SAS System 10:41 Monday, May 31, 2021 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=142000 j805=0 AMTOWEM1=153360.3153 AMTOWE_1M1=155617.21171 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=475 x804=145000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=33451 x804=85000 CMOPAYM1=550 AMOPAYM1=575.14 x816=530 x810=3 x721=2000 x722=6 RESTAXM1=2000 TLMTHM1=240 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=33451 x1714=570000 CMOPAYO1=2800 AMOPAYO1=2847.61 x1726=438 x1720=3 TLMTHO1=360 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=33501 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=4300 CMOPAYM1=4300 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=934000 j805=0 AMTOWEM1=988037.12436 AMTOWE_1M1=1007187.1264 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=325 x804=939000 j804=0 x7571=2 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=33531 TOTINVEX=5060.1555377 TOTLOCINVEX=0 TOTINVPDCT=5060.1555377 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=33581 x723=1 x807=180 x806=15 TLMTHM1=180 x809=4 x808=1300 CMOPAYM1=1300 x813=0 x814=0 x802=2019 PAYLFTM1=180 LNAGEM1=0 x805=152000 j805=0 AMTOWEM1=161716.13854 AMTOWE_1M1=168627.91462 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=525 x804=154000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=33641 x1714=90000 CMOPAYO1=630 AMOPAYO1=1210.28 x1726=1600 x1720=2 TLMTHO1=360 x1721=1 x1722=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=34481 x804=135000 CMOPAYM1=910 AMOPAYM1=928.65 x816=550 x810=3 x721=980 x722=6 RESTAXM1=980 TLMTHM1=240 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=34511 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2000 CMOPAYM1=1328.24 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=270000 j805=0 AMTOWEM1=270000.46633 AMTOWE_1M1=274363.24085 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=425 x804=270000 j804=0 x7571=1 x811=1 x812=0 HUGE MORTGAGE INTEREST DEDUCTION y1=34731 TOTDEDCTM=118785.06817 GRFAMTOUTM=0 HAAMTOUTM=1088000 TOTAQDBTL=0 ADJDEDCTL=0 ADJEQDBTL=0 ADJDEDCTO=0 ADJAMTOUTO=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 HOUSE=1000000 QUALOTHPROP=0 FMVOTHPROP=0 x5744=1 x5746=0 ADJDEDCT=109177.45236 TOO MUCH INVESTMENT INTEREST EXPENSES y1=35021 TOTINVEX=2030.5672646 TOTLOCINVEX=0 TOTINVPDCT=2030.5672646 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=35161 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=6700 CMOPAYM1=4434.81 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=990000 j805=0 AMTOWEM1=999999.47442 AMTOWE_1M1=1018867.916 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=340 x804=1000000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=35651 TOTINVEX=396115.2 TOTLOCINVEX=0 TOTINVPDCT=396115.2 TOTLNINVEX=0 TOTINTINC=353000 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=35851 x5744=1 x5746=0 GRFAMTOUTM=0 HAAMTOUTM=76000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=35951 x804=280000 CMOPAYM1=900 AMOPAYM1=1469.06 x816=480 x810=3 x721=800 x722=6 RESTAXM1=800 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=36011 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=6100 CMOPAYM1=6100 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=1220000 j805=1041 AMTOWEM1=1301171.6904 AMTOWE_1M1=1323801.8753 84 The SAS System 10:41 Monday, May 31, 2021 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=385 x804=1400000 j804=1041 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=36281 x804=80000 CMOPAYM1=770 AMOPAYM1=809.96 x816=400 x810=3 x721=30 x722=6 RESTAXM1=30 TLMTHM1=120 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=36431 TOTINVEX=7731.9340075 TOTLOCINVEX=0 TOTINVPDCT=7731.9340075 TOTLNINVEX=0 TOTINTINC=2950 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=36841 x804=120000 CMOPAYM1=610 AMOPAYM1=677.06 x816=620 x810=1 x721=3000 x722=6 RESTAXM1=3000 TLMTHM1=480 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=37021 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2500 CMOPAYM1=2002.72 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=420000 j805=0 AMTOWEM1=419999.23582 AMTOWE_1M1=427119.09199 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=399 x804=420000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=37041 x804=240000 CMOPAYM1=2000 AMOPAYM1=2157.19 x816=700 x810=3 x721=4000 x722=6 RESTAXM1=4000 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=37361 x1714=115000 CMOPAYO1=650 AMOPAYO1=925.32 x1726=900 x1720=3 TLMTHO1=360 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=37971 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=620 CMOPAYM1=441.76 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=79000 j805=0 AMTOWEM1=79999.463656 AMTOWE_1M1=81069.926895 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=525 x804=80000 j804=0 x7571=1 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=38021 x5744=5 x5746=0 GRFAMTOUTM=0 HAAMTOUTM=4000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 TOO MUCH INVESTMENT INTEREST EXPENSES y1=38071 TOTINVEX=27271.90222 TOTLOCINVEX=0 TOTINVPDCT=27271.90222 TOTLNINVEX=0 TOTINTINC=1800 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=38131 x804=225000 CMOPAYM1=1100 AMOPAYM1=1385.36 x816=625 x810=3 x721=3400 x722=6 RESTAXM1=3400 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=38471 x804=180000 CMOPAYM1=860 AMOPAYM1=922.76 x816=460 x810=2 x721=-1 x722=-1 RESTAXM1=0 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=39121 x804=450000 CMOPAYM1=1800 AMOPAYM1=3328.6 x816=400 x810=3 x721=4700 x722=6 RESTAXM1=4700 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=39501 x804=400000 CMOPAYM1=1600 AMOPAYM1=1909.66 x816=400 x810=3 x721=5000 x722=6 RESTAXM1=5000 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=39501 x1714=190000 CMOPAYO1=750 AMOPAYO1=1139.15 x1726=600 x1720=3 TLMTHO1=360 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=39501 TOTINVEX=6814.9500245 TOTLOCINVEX=0 TOTINVPDCT=6814.9500245 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=39631 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1300 CMOPAYM1=1077.35 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=218000 j805=0 AMTOWEM1=219000.33308 AMTOWE_1M1=222539.02723 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=425 x804=219000 j804=0 x7571=1 x811=1 x812=0 85 The SAS System 10:41 Monday, May 31, 2021 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=39891 x1814=300000 CMOPAYO2=1300 AMOPAYO2=2451.25 x1826=550 x1820=3 TLMTHO2=180 x1821=1 x1822=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=40011 TOTINVEX=15125.24117 TOTLOCINVEX=0 TOTINVPDCT=15125.24117 TOTLNINVEX=0 TOTINTINC=9600 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=40281 x804=1800000 CMOPAYM1=7700 AMOPAYM1=8082.8 x816=350 x810=3 x721=20000 x722=6 RESTAXM1=20000 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=40611 x804=250000 CMOPAYM1=1100 AMOPAYM1=1419.47 x816=550 x810=2 x721=-1 x722=-1 RESTAXM1=0 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=40641 x804=250000 CMOPAYM1=1800 AMOPAYM1=2437.17 x816=320 x810=3 x721=3000 x722=6 RESTAXM1=3000 TLMTHM1=120 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=41021 x1714=20180000 CMOPAYO1=49000 AMOPAYO1=83455.88 x1726=285 x1720=2 TLMTHO1=360 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=41081 TOTINVEX=50139.819233 TOTLOCINVEX=0 TOTINVPDCT=50139.819233 TOTLNINVEX=0 TOTINTINC=40450 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=41151 x804=230000 CMOPAYM1=1600 AMOPAYM1=1672.61 x816=375 x810=3 x721=2200 x722=6 RESTAXM1=2200 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=41291 x1714=40000 CMOPAYO1=400 AMOPAYO1=828.39 x1726=890 x1720=1 TLMTHO1=60 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=41391 TOTINVEX=17845.503321 TOTLOCINVEX=0 TOTINVPDCT=17845.503321 TOTLNINVEX=0 TOTINTINC=1100 TOO MUCH INVESTMENT INTEREST EXPENSES y1=41851 TOTINVEX=31171.759379 TOTLOCINVEX=0 TOTINVPDCT=31171.759379 TOTLNINVEX=0 TOTINTINC=6700 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=42031 x804=225000 CMOPAYM1=780 AMOPAYM1=1597.46 x816=340 x810=3 x721=900 x722=6 RESTAXM1=900 TLMTHM1=180 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=42051 TOTINVEX=19730.899192 TOTLOCINVEX=0 TOTINVPDCT=19730.899192 TOTLNINVEX=0 TOTINTINC=3500 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=42291 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=3300 CMOPAYM1=1929.83 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=397000 j805=0 AMTOWEM1=396999.96061 AMTOWE_1M1=403534.59931 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=415 x804=397000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=42491 x804=250000 CMOPAYM1=1100 AMOPAYM1=1157.79 x816=375 x810=3 x721=2000 x722=6 RESTAXM1=2000 TLMTHM1=360 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=42631 TOTINVEX=3600 TOTLOCINVEX=0 TOTINVPDCT=3600 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=43011 x804=60000 CMOPAYM1=550 AMOPAYM1=552.08 x816=200 x810=3 x721=1200 x722=6 RESTAXM1=1200 TLMTHM1=120 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=43021 x804=340000 CMOPAYM1=1800 AMOPAYM1=2006.98 x816=370 x810=3 x721=2200 x722=6 RESTAXM1=2200 TLMTHM1=240 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=43251 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=470 CMOPAYM1=470 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=98000 j805=0 AMTOWEM1=111479.00931 AMTOWE_1M1=113737.76621 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=300 x804=100000 j804=0 x7571=1 x811=1 86 The SAS System 10:41 Monday, May 31, 2021 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=43311 TOTINVEX=6462.359127 TOTLOCINVEX=0 TOTINVPDCT=6462.359127 TOTLNINVEX=0 TOTINTINC=960 TOO MUCH INVESTMENT INTEREST EXPENSES y1=43601 TOTINVEX=5115.8632295 TOTLOCINVEX=0 TOTINVPDCT=5115.8632295 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=43741 x804=290000 CMOPAYM1=1400 AMOPAYM1=1426.63 x816=425 x810=3 x721=1800 x722=6 RESTAXM1=1800 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=44241 x804=95000 CMOPAYM1=720 AMOPAYM1=833.69 x816=1000 x810=3 x721=900 x722=6 RESTAXM1=900 TLMTHM1=360 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=44281 TOTINVEX=449.16666667 TOTLOCINVEX=0 TOTINVPDCT=449.16666667 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=44471 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1200 CMOPAYM1=881.44 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=168000 j805=0 AMTOWEM1=168000.42021 AMTOWE_1M1=170449.53699 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=480 x804=168000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=44821 TOTINVEX=21840 TOTLOCINVEX=0 TOTINVPDCT=21840 TOTLNINVEX=0 TOTINTINC=2000 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=45011 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2200 CMOPAYM1=2200 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=348000 j805=1013 AMTOWEM1=434194.54982 AMTOWE_1M1=440891.43831 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=410000 j804=1013 x7571=2 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=45261 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=3800 CMOPAYM1=1288.37 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=231000 j805=1012 AMTOWEM1=239999.64695 AMTOWE_1M1=243368.17813 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=500 x804=240000 j804=1012 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=45321 TOTINVEX=21091.651689 TOTLOCINVEX=0 TOTINVPDCT=21091.651689 TOTLNINVEX=0 TOTINTINC=600 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=45721 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1900 CMOPAYM1=1900 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=425000 j805=0 AMTOWEM1=400390.07612 AMTOWE_1M1=407227.49449 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=395 x804=425000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=45731 x723=1 x807=-1 x806=-1 TLMTHM1=-1 x809=0 x808=0 CMOPAYM1=200 x813=200 x814=4 x802=2014 PAYLFTM1=0 LNAGEM1=0 x805=3600 j805=0 AMTOWEM1=0 AMTOWE_1M1=0 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=-1 x804=15000 j804=0 x7571=0 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=45731 x5744=5 x5746=0 GRFAMTOUTM=0 HAAMTOUTM=3600 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=1 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=46151 x804=250000 CMOPAYM1=1300 AMOPAYM1=1539.29 x816=625 x810=3 x721=840 x722=6 RESTAXM1=840 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=46191 x723=1 x807=240 x806=20 TLMTHM1=240 x809=4 x808=410 CMOPAYM1=410 x813=0 x814=0 x802=2000 PAYLFTM1=12 LNAGEM1=228 x805=6000 j805=1044.5 AMTOWEM1=0 AMTOWE_1M1=0 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=-1 x804=45000 j804=1044.5 x7571=1 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=46191 x5744=1 x5746=0 GRFAMTOUTM=0 HAAMTOUTM=6000 ADJAMTOUTO=0 TOTAQDBTL=0 87 The SAS System 10:41 Monday, May 31, 2021 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=1 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=46221 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1800 CMOPAYM1=1800 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=355000 j805=0 AMTOWEM1=355250.08622 AMTOWE_1M1=360729.35861 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=360000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=46481 TOTINVEX=4350.2760142 TOTLOCINVEX=0 TOTINVPDCT=4350.2760142 TOTLNINVEX=0 TOTINTINC=3300 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=46601 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2100 CMOPAYM1=1768.76 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=373000 j805=0 AMTOWEM1=375000.89764 AMTOWE_1M1=381463.64497 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=390 x804=375000 j804=0 x7571=1 x811=1 x812=0 MORTGAGE DEDUCTION SHOULD NOT BE ZERO y1=46651 x5744=1 x5746=3 GRFAMTOUTM=0 HAAMTOUTM=39000 ADJAMTOUTO=0 TOTAQDBTL=0 ADJEQDBTL=0 A17AMTOUTM=0 ADJ17AMTOUTO=0 TOTDEDCTM=0 ADJDEDCTO=0 ADJDEDCTL=0 OVERLIM=0 QUALOTHPROP=0 CINTDCTM1=0 CINTDCTM2=0 CINTDCTM3=0 CINTDCTO1=0 CINTDCTO2=0 x702=5 x714=0 x7135=0 x723=2 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=46911 x723=1 x807=240 x806=20 TLMTHM1=240 x809=4 x808=400 CMOPAYM1=400 x813=0 x814=0 x802=2019 PAYLFTM1=240 LNAGEM1=0 x805=61000 j805=0 AMTOWEM1=59607.71699 AMTOWE_1M1=61261.174154 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=520 x804=61000 j804=13 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=47071 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2800 CMOPAYM1=1630.85 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=350000 j805=0 AMTOWEM1=349999.84366 AMTOWE_1M1=356142.87269 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=380 x804=350000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=47171 x804=140000 CMOPAYM1=800 AMOPAYM1=811.94 x816=350 x810=3 x721=700 x722=6 RESTAXM1=700 TLMTHM1=240 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=47211 TOTINVEX=4801.0252662 TOTLOCINVEX=0 TOTINVPDCT=4801.0252662 TOTLNINVEX=0 TOTINTINC=0 HIGH PROPERTY TAX RATE y1=47351 HOUSE=4400 RESTAXM1=800 x721=800 j721=0 x722=6 j722=0 x501=2 x601=3 x701=0 PROPTXRATE=18.181818182 TOO MUCH INVESTMENT INTEREST EXPENSES y1=47981 TOTINVEX=2338.165019 TOTLOCINVEX=0 TOTINVPDCT=2338.165019 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=48291 x723=1 x807=180 x806=15 TLMTHM1=180 x809=4 x808=1100 CMOPAYM1=1007.72 x813=0 x814=0 x802=2019 PAYLFTM1=180 LNAGEM1=0 x805=140000 j805=0 AMTOWEM1=139999.33942 AMTOWE_1M1=146916.38018 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=360 x804=140000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=48821 x804=120000 CMOPAYM1=880 AMOPAYM1=880.52 x816=800 x810=1 x721=560 x722=11 RESTAXM1=1120 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=48991 x804=280000 CMOPAYM1=1600 AMOPAYM1=1678.74 x816=600 x810=1 x721=2200 x722=6 RESTAXM1=2200 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=49011 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=3300 CMOPAYM1=3300 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=530000 j805=0 AMTOWEM1=712565.08311 AMTOWE_1M1=725186.06243 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=375 x804=550000 j804=0 x7571=1 x811=1 x812=0 88 The SAS System 10:41 Monday, May 31, 2021 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=49121 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=4900 CMOPAYM1=3714.13 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=712000 j805=0 AMTOWEM1=712000.18482 AMTOWE_1M1=722478.19315 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=475 x804=712000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=49121 TOTINVEX=18000 TOTLOCINVEX=0 TOTINVPDCT=18000 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=49161 x723=1 x807=180 x806=15 TLMTHM1=180 x809=4 x808=2600 CMOPAYM1=2408.95 x813=0 x814=0 x802=2019 PAYLFTM1=180 LNAGEM1=0 x805=340000 j805=0 AMTOWEM1=339999.56831 AMTOWE_1M1=357134.5892 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=337 x804=340000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=49251 x830=1 x907=-1 x906=-1 TLMTHM2=-1 x909=0 x908=0 CMOPAYM2=0 x913=-1 x914=-1 x902=2015 PAYLFTM2=0 LNAGEM2=0 x905=26000 j905=0 AMTOWEM2=0 AMTOWE_1M2=0 AINTDCTM2=0 CURBALM2=0 CURBAL_1M2=0 CINTDCTM2=0 AVINTDCTM2=0 DCTDIFFM2=0 SINTDCTM2=0 x916=-1 x904=26000 j904=0 x7570=0 x911=0 x912=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=49641 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2600 CMOPAYM1=2222.44 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=406000 j805=0 AMTOWEM1=413999.71699 AMTOWE_1M1=419810.43784 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=500 x804=414000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=49711 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2900 CMOPAYM1=2432.09 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=479000 j805=0 AMTOWEM1=480000.10121 AMTOWE_1M1=487403.48099 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=480000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=50071 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=3000 CMOPAYM1=2100.63 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=440000 j805=0 AMTOWEM1=440000.56554 AMTOWE_1M1=447445.80525 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=400 x804=440000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=50121 x1714=178000 CMOPAYO1=1000 AMOPAYO1=1055.34 x1726=375 x1720=3 TLMTHO1=240 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=50121 TOTINVEX=4798.0891006 TOTLOCINVEX=0 TOTINVPDCT=4798.0891006 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=50141 x804=500000 CMOPAYM1=1500 AMOPAYM1=2358.34 x816=390 x810=3 x721=8000 x722=6 RESTAXM1=8000 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=50161 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2800 CMOPAYM1=1800.54 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=350000 j805=0 AMTOWEM1=350000.81437 AMTOWE_1M1=355269.19723 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=463 x804=350000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=50431 x804=56000 CMOPAYM1=450 AMOPAYM1=451.94 x816=531 x810=3 x721=1100 x722=6 RESTAXM1=1100 TLMTHM1=180 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=50781 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1100 CMOPAYM1=834.3 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=167000 j805=0 AMTOWEM1=167000.20891 AMTOWE_1M1=169634.2888 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=438 x804=167000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=50901 x804=62000 CMOPAYM1=550 AMOPAYM1=642.56 x816=450 x810=3 x721=600 x722=6 RESTAXM1=600 TLMTHM1=120 x811=1 x812=0 NEGATIVE AGI BUT CHARITYAMT > 0 y1=51041 x5823=1000 CHARITYAMT=1000 x5744=1 x5746=1 AGI=-149999 TOO MUCH INVESTMENT INTEREST EXPENSES y1=51301 TOTINVEX=9438.6770899 TOTLOCINVEX=0 TOTINVPDCT=9438.6770899 TOTLNINVEX=0 89 The SAS System 10:41 Monday, May 31, 2021 TOTINTINC=1000 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=51341 x804=500000 CMOPAYM1=3000 AMOPAYM1=3326.51 x816=700 x810=3 x721=10000 x722=6 RESTAXM1=10000 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=51371 x804=1600000 CMOPAYM1=6000 AMOPAYM1=8106.96 x816=450 x810=1 x721=10000 x722=6 RESTAXM1=10000 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=51451 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1900 CMOPAYM1=1332.58 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=263000 j805=0 AMTOWEM1=262999.53327 AMTOWE_1M1=267055.96039 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=450 x804=263000 j804=0 x7571=2 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=51631 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1200 CMOPAYM1=1085.47 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=211000 j805=0 AMTOWEM1=211000.80197 AMTOWE_1M1=214176.88889 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=463 x804=211000 j804=0 x7571=1 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=51911 TOTINVEX=4817.4894276 TOTLOCINVEX=0 TOTINVPDCT=4817.4894276 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=52011 x1714=225000 CMOPAYO1=1200 AMOPAYO1=1207.85 x1726=500 x1720=3 TLMTHO1=360 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=52011 TOTINVEX=9960.4257975 TOTLOCINVEX=0 TOTINVPDCT=9960.4257975 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=52351 x830=1 x907=-1 x906=-1 TLMTHM2=-1 x909=0 x908=0 CMOPAYM2=250 x913=250 x914=4 x902=2017 PAYLFTM2=0 LNAGEM2=0 x905=25000 j905=0 AMTOWEM2=0 AMTOWE_1M2=0 AINTDCTM2=0 CURBALM2=0 CURBAL_1M2=0 CINTDCTM2=0 AVINTDCTM2=0 DCTDIFFM2=0 SINTDCTM2=0 x916=-1 x904=50000 j904=0 x7570=0 x911=1 x912=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=52471 x804=80000 CMOPAYM1=1100 AMOPAYM1=1255.26 x816=410 x810=3 x721=6000 x722=6 RESTAXM1=6000 TLMTHM1=72 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=52561 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1400 CMOPAYM1=971.65 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=180000 j805=0 AMTOWEM1=181000.5332 AMTOWE_1M1=183540.97835 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=500 x804=181000 j804=0 x7571=1 x811=1 x812=0 HIGH PROPERTY TAX RATE y1=52721 HOUSE=20000 RESTAXM1=2700 x721=2700 j721=0 x722=6 j722=0 x501=3 x601=0 x701=1 PROPTXRATE=13.5 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=52921 x804=72000 CMOPAYM1=750 AMOPAYM1=763.67 x816=500 x810=3 x721=1200 x722=6 RESTAXM1=1200 TLMTHM1=120 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=52981 x804=60000 CMOPAYM1=1000 AMOPAYM1=1081.11 x816=1800 x810=3 x721=1300 x722=6 RESTAXM1=1300 TLMTHM1=120 x811=1 x812=0 HIGH PROPERTY TAX RATE y1=53141 HOUSE=25000 RESTAXM1=3200 x721=3200 j721=0 x722=6 j722=0 x501=3 x601=0 x701=1 PROPTXRATE=12.8 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=53161 x804=75000 CMOPAYM1=180 AMOPAYM1=277.21 x816=200 x810=3 x721=550 x722=6 RESTAXM1=550 TLMTHM1=360 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=53191 x1714=440000 CMOPAYO1=1500 AMOPAYO1=2100.63 x1726=400 x1720=3 TLMTHO1=360 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=53211 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1400 CMOPAYM1=1400 90 The SAS System 10:41 Monday, May 31, 2021 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=245000 j805=0 AMTOWEM1=260794.26386 AMTOWE_1M1=264454.65928 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=500 x804=245000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=53371 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1600 CMOPAYM1=1032.8 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=222000 j805=0 AMTOWEM1=229999.38047 AMTOWE_1M1=234261.76303 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=350 x804=230000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=53511 x804=300000 CMOPAYM1=1200 AMOPAYM1=1979.87 x816=500 x810=3 x721=2400 x722=6 RESTAXM1=2400 TLMTHM1=240 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=53781 x804=160000 CMOPAYM1=1100 AMOPAYM1=1167.53 x816=380 x810=1 x721=9000 x722=6 RESTAXM1=9000 TLMTHM1=180 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=53911 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=930 CMOPAYM1=663.76 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=148000 j805=0 AMTOWEM1=147999.94137 AMTOWE_1M1=150747.64384 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=349 x804=148000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=53981 x804=153000 CMOPAYM1=790 AMOPAYM1=812.01 x816=490 x810=1 x721=900 x722=6 RESTAXM1=900 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=54781 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1300 CMOPAYM1=914.23 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=176000 j805=1041 AMTOWEM1=182999.64161 AMTOWE_1M1=185886.07917 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=438 x804=183000 j804=1041 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=54841 x804=300000 CMOPAYM1=1700 AMOPAYM1=1737.69 x816=385 x810=3 x721=3900 x722=6 RESTAXM1=3900 TLMTHM1=252 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=55071 x804=130000 CMOPAYM1=880 AMOPAYM1=918.81 x816=700 x810=3 x721=100 x722=4 RESTAXM1=1200 TLMTHM1=300 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=55081 x1714=22000 CMOPAYO1=270 AMOPAYO1=278 x1726=1499 x1720=3 TLMTHO1=360 x1721=1 x1722=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=55371 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1600 CMOPAYM1=1327.02 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=265000 j805=0 AMTOWEM1=265000.7165 AMTOWE_1M1=269165.01005 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=440 x804=265000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=55531 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2800 CMOPAYM1=1633.08 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=320000 j805=0 AMTOWEM1=330000.85718 AMTOWE_1M1=335283.92202 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=430 x804=330000 j804=0 x7571=1 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=55691 x723=1 x807=36 x806=3 TLMTHM1=36 x809=4 x808=450 CMOPAYM1=450 x813=0 x814=0 x802=2018 PAYLFTM1=24 LNAGEM1=12 x805=57000 j805=0 AMTOWEM1=0 AMTOWE_1M1=0 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=-1 x804=62000 j804=0 x7571=1 x811=2 x812=46000 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=55881 x804=500000 CMOPAYM1=5000 AMOPAYM1=6834.4 x816=400 x810=3 x721=1500 x722=6 RESTAXM1=1500 TLMTHM1=84 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=56131 x1814=198000 CMOPAYO2=1300 AMOPAYO2=2028.26 x1826=425 x1820=3 TLMTHO2=120 x1821=1 x1822=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=56411 x804=80000 CMOPAYM1=560 AMOPAYM1=601.82 x816=425 91 The SAS System 10:41 Monday, May 31, 2021 x810=3 x721=1100 x722=6 RESTAXM1=1100 TLMTHM1=180 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=56461 x804=63000 CMOPAYM1=1100 AMOPAYM1=1167.36 x816=425 x810=3 x721=4000 x722=6 RESTAXM1=4000 TLMTHM1=60 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=56631 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=970 CMOPAYM1=773.12 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=155000 j805=0 AMTOWEM1=160000.53937 AMTOWE_1M1=162658.55798 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=410 x804=160000 j804=0 x7571=1 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=56881 x1814=195000 CMOPAYO2=1400 AMOPAYO2=1516.77 x1826=475 x1820=3 TLMTHO2=180 x1821=1 x1822=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=57251 TOTINVEX=544000 TOTLOCINVEX=0 TOTINVPDCT=544000 TOTLNINVEX=0 TOTINTINC=370000 TOO MUCH INVESTMENT INTEREST EXPENSES y1=57311 TOTINVEX=37170.575276 TOTLOCINVEX=0 TOTINVPDCT=37170.575276 TOTLNINVEX=0 TOTINTINC=2200 NEGATIVE AGI BUT CHARITYAMT > 0 y1=58031 x5823=4000 CHARITYAMT=4000 x5744=1 x5746=1 AGI=-147000 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=1301 x804=135000 CMOPAYM1=650 AMOPAYM1=664.12 x816=425 x810=3 x721=1500 x722=6 RESTAXM1=1500 TLMTHM1=360 x811=1 x812=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=6041 TOTINVEX=22817.28581 TOTLOCINVEX=0 TOTINVPDCT=22817.28581 TOTLNINVEX=0 TOTINTINC=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=16061 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=2500 CMOPAYM1=1349.97 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=259000 j805=0 AMTOWEM1=268000.73885 AMTOWE_1M1=272173.09241 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=445 x804=268000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=28471 x1714=300000 CMOPAYO1=1800 AMOPAYO1=1979.87 x1726=500 x1720=3 TLMTHO1=240 x1721=1 x1722=0 TOO MUCH INVESTMENT INTEREST EXPENSES y1=28471 TOTINVEX=13071.647436 TOTLOCINVEX=0 TOTINVPDCT=13071.647436 TOTLNINVEX=0 TOTINTINC=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=28761 x804=460000 CMOPAYM1=2200 AMOPAYM1=2330.75 x816=450 x810=1 x721=5000 x722=6 RESTAXM1=5000 TLMTHM1=360 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=29041 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1100 CMOPAYM1=803.89 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=149000 j805=0 AMTOWEM1=155000.26904 AMTOWE_1M1=157302.89528 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=470 x804=155000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=48741 x804=240000 CMOPAYM1=1500 AMOPAYM1=1775.25 x816=400 x810=2 x721=1200 x722=6 RESTAXM1=1200 TLMTHM1=180 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=50661 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=600 CMOPAYM1=326.51 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=60000 j805=0 AMTOWEM1=60000.437243 AMTOWE_1M1=60823.52959 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=512 x804=60000 j804=0 x7571=2 x811=1 x812=0 ADJUSTED MONTHLY PAYMENT GREATER THAN COMPUTED MONTHLY PAYMENT y1=51231 x804=150000 CMOPAYM1=1000 AMOPAYM1=1090.83 x816=375 x810=3 x721=1100 x722=6 RESTAXM1=1100 TLMTHM1=180 x811=1 x812=0 HAS MORTGAGE, BUT NO INTEREST DEDUCTION y1=52861 x723=1 x807=360 x806=30 TLMTHM1=360 x809=4 x808=1900 CMOPAYM1=1613.56 x813=0 x814=0 x802=2019 PAYLFTM1=360 LNAGEM1=0 x805=328000 j805=0 AMTOWEM1=327999.42214 AMTOWE_1M1=333299.36677 92 The SAS System 10:41 Monday, May 31, 2021 AINTDCTM1=0 CURBALM1=0 CURBAL_1M1=0 CINTDCTM1=0 AVINTDCTM1=0 DCTDIFFM1=0 SINTDCTM1=0 x816=425 x804=328000 j804=0 x7571=1 x811=1 x812=0 NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The data set WORK.SCF has 36295 observations and 5643 variables. NOTE: DATA statement used (Total process time): real time 1.06 seconds cpu time 1.06 seconds NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The PROCEDURE FREQ printed pages 25-27. NOTE: PROCEDURE FREQ used (Total process time): real time 0.12 seconds cpu time 0.13 seconds NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The PROCEDURE FREQ printed pages 28-31. NOTE: PROCEDURE FREQ used (Total process time): real time 0.09 seconds cpu time 0.10 seconds NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The PROCEDURE MEANS printed pages 32-33. NOTE: PROCEDURE MEANS used (Total process time): real time 0.19 seconds cpu time 0.14 seconds NOTE: There were 31830 observations read from the data set WORK.SCF. WHERE TAXUNIT<3; NOTE: The PROCEDURE MEANS printed pages 34-35. NOTE: PROCEDURE MEANS used (Total process time): real time 0.10 seconds cpu time 0.12 seconds NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The PROCEDURE MEANS printed pages 36-37. NOTE: PROCEDURE MEANS used (Total process time): real time 0.10 seconds cpu time 0.11 seconds NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The data set WORK.SCF has 36295 observations and 5643 variables. NOTE: PROCEDURE SORT used (Total process time): real time 0.74 seconds cpu time 0.75 seconds 93 The SAS System 10:41 Monday, May 31, 2021 NOTE: There were 36295 observations read from the data set WORK.SCF. NOTE: The data set WORK.TAXSIM has 36295 observations and 5654 variables. NOTE: DATA statement used (Total process time): real time 0.75 seconds cpu time 0.75 seconds NOTE: There were 36295 observations read from the data set WORK.TAXSIM. NOTE: The data set WORK.TAXSIM has 36295 observations and 34 variables. NOTE: DATA statement used (Total process time): real time 0.24 seconds cpu time 0.24 seconds NOTE: There were 36295 observations read from the data set WORK.TAXSIM. NOTE: The data set WORK.TAXSIM has 36295 observations and 34 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.01 seconds depx=0 dep17=0 dep18=0 dep13=0 sage=0 page=75 pwages=1000 swages=0 intrec=9100 dividends=19000 ui=0 transfers=0 pensions=0 gssi=8040 rentpaid=0 proptax=22000 taxsimid=1100 stcg=1960 ltcg=12040 childcare=0 mstat=1 otherprop=0 nonprop=0 otheritem=0 mortgage=0 scorp=0 pbusinc=0 pprofinc=0 sbusinc=0 sprofinc=0 tyear=2018 tstate=0 idtl=2 xx=30598.896539 x42001=30598.896539 _ERROR_=0 _N_=1 NOTE: There were 36295 observations read from the data set WORK.TAXSIM. NOTE: The data set WORK.TAXSIM has 36295 observations and 34 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.00 seconds NOTE: The PROCEDURE CONTENTS printed pages 38-39. NOTE: PROCEDURE CONTENTS used (Total process time): real time 0.00 seconds cpu time 0.02 seconds NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 11.60 seconds cpu time 9.10 seconds