Haas MFE SAS Workshop

Size: px
Start display at page:

Download "Haas MFE SAS Workshop"

Transcription

1 Haas MFE SAS Workshop Lecture 4: Macros and Econometrics Alex Vedrashko For sample code and these slides, see Peng Liu s page

2 Plan Arrays; DO, UNTIL loops Lag function Macros Econometrics Made Easy April 2006, Haas MFE Alex Vedrashko & Peng Liu 2

3 DO loop Example: The input data is a line of four quarters of earnings for 100 firms. Read the data, indexing each observation by quarter. data earnings; input ticker do quarter=1 to 4; input output; end; Datalines; ibm msft ; run; Other examples: do state='ca','or';... end; do weekdays=1,3,5;... end; Output: Obs ticker quarter earn 1 ibm ibm ibm ibm msft msft msft msft April 2006, Haas MFE Alex Vedrashko & Peng Liu 3

4 DO UNTIL, WHILE Loops DO - UNTIL flag=0; do i=1 to 10 until(flag);...sas statements... if expression then flag=1; end; DO WHILE do i=10 to 0 by -1 while(month='jan');...sas statements... end; DO WHILE n=0; do while(n<5); n+1; end; April 2006, Haas MFE Alex Vedrashko & Peng Liu 4

5 Variable Arrays Arrays are used mainly to group variables Useful for performing the same calculations on a group of variables or searching through a set of variables. For example, your balance sheet data variables d_1 d_150 are in millions, and you need to make them in 100s of millions. Arrays defined using the ARRAY statement in a DATA step Syntax: ARRAY name (n) variable_list; ARRAY all_vars var1-var10; n is the number of elements in the array and is optional The variable list is also optional but either n or the variable list must be specified The variable list can contain variables that have not yet been created option for initializing variable values A $ should precede a variable list of character variables April 2006, Haas MFE Alex Vedrashko & Peng Liu 5

6 Arrays (cont.) In the calculation section of a DATA step the array can be referenced by name(i) where i is the position of the element you wish to refer to Since parenthesis are also used in functions it is not a good idea to give your array the same name as a SAS function Example. DATA d1; input var1-var10; ARRAY all_vars var1-var10; DO i = 1 to 10; all_vars(i) = i/100; END; RUN; April 2006, Haas MFE Alex Vedrashko & Peng Liu 6

7 LAG Function In general SAS data loop is not convenient about directly accessing observations, e.g. for particular dates. If you want to do serious time series analysis you should use the procedures in the SAS/ETS package The lag function is used to reference previous values of a variable newvar = LAG (variable); or newvar = LAGn (variable); Where n refers to the number of observations to go back, e.g. LAG12(). Example. Calculate returns from prices plag1 = LAG(price); return = (p plag1) / plag1; If we are in observation 100, for example, this statement will assign the price from observation 98 to the variable plag1 in observation 100. Similarly the value of plag1 in observation 98 will be the value of price in observation 96. April 2006, Haas MFE Alex Vedrashko & Peng Liu 7

8 LAG Function (contd.) Differencing with DIF( ) Lags are tricky to use because of the built-in loop. Sometimes the lag value is not available (missing). Hint: Use separate data steps to create lags and levels. When your data is sorted BY a variable, for example, you have stock prices sorted: BY cusip date. Then LAG(price) may refer to the previous company s price. Hint2: Do manual checks (proc print) to prevent nonsensical lags when dealing with panel data. Do not use the LAG function in a loop DIFn() is similar to LAGn(). DIF(price); is the same as price-lag(price); ; April 2006, Haas MFE Alex Vedrashko & Peng Liu 8

9 Controlling the Built-in Data Loop: RETAIN Statement The built-in loop stores the data for a given observation for the current run of the DATA step When the loop reaches the end of the DATA step and returns to the top to read for the next observation all values are reset to missing To force the built-in loop to keep values from previous observations use the RETAIN statement: RETAIN variable-list; The values of the variables specified in the RETAIN statement will keep their values until they are reset by an INPUT or SET or assignment statement. April 2006, Haas MFE Alex Vedrashko & Peng Liu 9

10 RETAIN: examples Example1: Calculate the highest mortgage balance to date for each date; use max() function. proc sort data=loan1; by origination; data d1; set loan1; retain maxbal; maxbal=max(maxbal, balance); Example2: Replicating the LAG(price) function with RETAIN. data p1; input price p1=pdummy; pdummy=price; retain pdummy; run; April 2006, Haas MFE Alex Vedrashko & Peng Liu 10

11 Controlling the Built-in Data Loop: SUM statement A special case is a plus sign in an assignment that does not have an equal sign, e.g. cumulativesum + newvar; This sum implicitly retains the previous value of newvar and adds it to cumsum. Example. Calculate the growth of the total appraised value of houses in the dataset to date, i.e. rolling sum. proc sort data=loan1; by origination; data d1; set loan1; totalvalue + appraisal; run; This is equivalent to data d1; set loan1; retain totalvalue 0; /*initialize to 0*/ totalvalue =sum(totalvalue, appraisal); April 2006, Haas MFE Alex Vedrashko & Peng Liu 11

12 Macros Macro variables can be used anywhere inside the Data / Proc steps. Macro functions can contain many Data / Proc steps Benefits Use a piece of code over and over Make your code reusable. Make execution of your programs data driven A great intro to writing macros: April 2006, Haas MFE Alex Vedrashko & Peng Liu 12

13 Macro Variables Define a macro variable with %LET %LET macro_var_name = value; %LET ticker = IBM; value does not require quotes even if there are spaces %LET can be specified anywhere in your program Macro variables are always character constants This is true even if they represent a numeric Do not belong to a data set Using macro variables: its name preceded by an &. E.g., open IBM file: data d&ticker; set mylib.&ticker; When SAS encounters a macro variable, the processor replaces it with the current value of the macro variable In strings, the processor will not look for macro variables inside single quotes so use double quotes when necessary, e.g. infile "&ticker..txt"; April 2006, Haas MFE Alex Vedrashko & Peng Liu 13

14 Defining Macro functions Step 1. Make sure your code (Data, Proc) works without macros Step 2. Introduce macros to your code Macro programs act as a wrapper for DATA or PROC step. %MACRO macro_prog_name; Body of macro program: data ; proc ; %MEND macro_prog_name; Execute your macro function by preceding its name with %: %macro_prog_name; You can pass parameters to Macro functions %macro Myfun(x, y); ; %mend; %myfun( 100, CA ); April 2006, Haas MFE Alex Vedrashko & Peng Liu 14

15 Calling Macro functions, %include The simplest thing is to define the macro in the SAS program where it will be used Sometimes it is more useful to define a macro in a separate file so that it can be used in multiple programs %include source-file; %include runs any text in the source file just as if it had been included in the program In this way, you can include a macro that is defined in an external file April 2006, Haas MFE Alex Vedrashko & Peng Liu 15

16 Define Autocall library (to call external macros with %include) If you regularly use user-written SAS macros, it is efficient to store these macros in a separate windows directory The name of the file must be the same as the macro name, e.g. myfunct1.sas must contain myfunct1 macro The autocall directory can contain other files as well Use SASAUTOS= and MAUTOSOURCE options to add your macros directory and have the macro processor search the autocall libraries Sasautos is the location for system macros filename mymacros 'r:\mysas'; options sasautos=(sasautos mymacros) mautosource; April 2006, Haas MFE Alex Vedrashko & Peng Liu 16

17 Advanced manipulations with macros Sometimes you need to use a period to tell SAS where the variable name ends INPUT bond&index.rate; If index is equal to 1 this will resolve to INPUT bond1rate; Periods are not necessary when concatenating to contiguous macro variables; e.g. INPUT &name&index; For advanced macro programming you may want to use CALL SYMPUT currentdate=put(today(), date9.); call symput ('currentdate', currentdate); This statement allows you to assign values to macro variables prior to execution. It is necessary if you want your macros to be data driven April 2006, Haas MFE Alex Vedrashko & Peng Liu 17

18 Macros: Examples Black-Scholes Call option Simulating Black-Scholes option prices Rolling regression April 2006, Haas MFE Alex Vedrashko & Peng Liu 18

19 SAS Procedures. GPLOT Plots scatter plots (in the Graph window) proc gplot; plot fnmret*wkend; format wkbeg date9.; plot mktret*wkend; format wkbeg date9.; symbol1 interpol=join /*or spline */ value=none; /*or dot, triangle, circle, square, star*/ symbol2 i=join v=none; run; April 2006, Haas MFE Alex Vedrashko & Peng Liu 19

20 Financial functions and Econometric Procedures Financial functions. In Help, Contents tab go to SAS Products Base SAS SAS language dictionary Dictionary of language elements Functions and call routines Econometric procs In Help, Contents tab go to SAS Products SAS ETS Procedure Reference Theory on methods and corresponding SAS proc options are in the Details section for each proc. April 2006, Haas MFE Alex Vedrashko & Peng Liu 20

21 Econometrics ARIMA, unit root, cointegration tests: Proc ARIMA GARCH: Proc AUTOREG VAR, ARMAX, unit root, cointegration tests: Proc VARMAX NLS, GLS, Maximum likelihood & derivatives, GMM, 2SLS, 3SLS, SUR, Monte-Carlo bootstraping: Proc Model Kalman filter: Proc Statespace Probit, Logit, etc. with heteroscedasticity, switching regression: Proc QLIM Panel data (time-series cross-sectional data): Proc TSCREG April 2006, Haas MFE Alex Vedrashko & Peng Liu 21

22 Proc VARMAX Description: VARMAX Getting Started - Vector Autoregressive Process VAR(p): proc varmax; model y1 y2 / p=1 noint lagmax=3; run; VAR Examples: VARMAX Examples Numerous Examples April 2006, Haas MFE Alex Vedrashko & Peng Liu 22

23 Proc AUTOREG Use to Test for heteroscedastic error term Run GARCH and similar models (EGARCH, IGARCH, GARCH-M) Description: AUTOREG Getting Started - Heteroscedasticity and GARCH Models Example syntax: proc autoreg; model y = / garch=(p=1,q=1) dist=t; April 2006, Haas MFE Alex Vedrashko & Peng Liu 23

24 Proc MODEL Non-linear LS, Generalized LS (heteroscedasticity tests and correction), Maximum likelihood & derivatives, Generalized Method of Moments, 2Stage LS, 3Stage SLS, Seemingly Unrelated Regressions, Monte-Carlo error term bootstraping Proc model; Parms b0-b100; y= function of x ; fit y / options; Where options can be: GMM, 2SLS, SUR, HCCME= 1 (heteroscedasticity correction); white (heteroscedasticity test); April 2006, Haas MFE Alex Vedrashko & Peng Liu 24

SAS Econometrics and Time Series Analysis 1.1 for JMP

SAS Econometrics and Time Series Analysis 1.1 for JMP SAS Econometrics and Time Series Analysis 1.1 for JMP SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2011. SAS Econometrics and Time Series Analysis

More information

A Step by Step Guide to Learning SAS

A Step by Step Guide to Learning SAS A Step by Step Guide to Learning SAS 1 Objective Familiarize yourselves with the SAS programming environment and language. Learn how to create and manipulate data sets in SAS and how to use existing data

More information

Chapter 1 Introduction. Chapter Contents

Chapter 1 Introduction. Chapter Contents Chapter 1 Introduction Chapter Contents OVERVIEW OF SAS/STAT SOFTWARE................... 17 ABOUT THIS BOOK.............................. 17 Chapter Organization............................. 17 Typographical

More information

Base and Advance SAS

Base and Advance SAS Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS

More information

Subject Index. 2 2SLS estimation method See two-stage least squares. 3 3SLS estimation method See three-stage least squares

Subject Index. 2 2SLS estimation method See two-stage least squares. 3 3SLS estimation method See three-stage least squares Subject Index 2 2SLS estimation method See two-stage least squares 3 3SLS estimation method See three-stage least squares A add factors See adjustments additive model ARIMA model, 211 additive Winters

More information

SAS Econometrics and Time Series Analysis 2 for JMP. Third Edition

SAS Econometrics and Time Series Analysis 2 for JMP. Third Edition SAS Econometrics and Time Series Analysis 2 for JMP Third Edition The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS Econometrics and Time Series Analysis 2

More information

BUSINESS ANALYTICS. 96 HOURS Practical Learning. DexLab Certified. Training Module. Gurgaon (Head Office)

BUSINESS ANALYTICS. 96 HOURS Practical Learning. DexLab Certified. Training Module. Gurgaon (Head Office) SAS (Base & Advanced) Analytics & Predictive Modeling Tableau BI 96 HOURS Practical Learning WEEKDAY & WEEKEND BATCHES CLASSROOM & LIVE ONLINE DexLab Certified BUSINESS ANALYTICS Training Module Gurgaon

More information

Functions vs. Macros: A Comparison and Summary

Functions vs. Macros: A Comparison and Summary Functions vs. Macros: A Comparison and Summary Mahipal Vanam Phaneendhar Vanam Srinivas Vanam Percept Pharma Services, Bridgewater, NJ ABSTRACT SAS is rich in various built-in functions, and predefined

More information

Know What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data

Know What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data Know What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data Shankar Yaddanapudi, SAS Consultant, Washington DC ABSTRACT In certain applications it is necessary to maintain

More information

STAT 7000: Experimental Statistics I

STAT 7000: Experimental Statistics I STAT 7000: Experimental Statistics I 2. A Short SAS Tutorial Peng Zeng Department of Mathematics and Statistics Auburn University Fall 2009 Peng Zeng (Auburn University) STAT 7000 Lecture Notes Fall 2009

More information

MARK CARPENTER, Ph.D.

MARK CARPENTER, Ph.D. MARK CARPENTER, Ph.D. Module 1 : THE DATA STEP (1, 2, 3) Keywords : DATA, INFILE, INPUT, FILENAME, DATALINES Procedures : PRINT Pre-Lecture Preparation: create directory on your local hard drive called

More information

An Introduction to SAS Macros

An Introduction to SAS Macros An Introduction to SAS Macros Expanded token SAS Program (Input Stack) SAS Wordscanner (Tokenization) Non-Macro (Tokens) SAS Compiler % and & Triggers Macro Facility Steven First, President 2997 Yarmouth

More information

April 4, SAS General Introduction

April 4, SAS General Introduction PP 105 Spring 01-02 April 4, 2002 SAS General Introduction TA: Kanda Naknoi kanda@stanford.edu Stanford University provides UNIX computing resources for its academic community on the Leland Systems, which

More information

Spreadsheet definition: Starting a New Excel Worksheet: Navigating Through an Excel Worksheet

Spreadsheet definition: Starting a New Excel Worksheet: Navigating Through an Excel Worksheet Copyright 1 99 Spreadsheet definition: A spreadsheet stores and manipulates data that lends itself to being stored in a table type format (e.g. Accounts, Science Experiments, Mathematical Trends, Statistics,

More information

Top 10 Things to Know about WRDS

Top 10 Things to Know about WRDS Top 10 Things to Know about WRDS 1. Do I need special software to use WRDS? WRDS was built to allow users to use standard and popular software. There is no WRDSspecific software to install. For example,

More information

Storing and Reusing Macros

Storing and Reusing Macros 101 CHAPTER 9 Storing and Reusing Macros Introduction 101 Saving Macros in an Autocall Library 102 Using Directories as Autocall Libraries 102 Using SAS Catalogs as Autocall Libraries 103 Calling an Autocall

More information

Amie Bissonett, inventiv Health Clinical, Minneapolis, MN

Amie Bissonett, inventiv Health Clinical, Minneapolis, MN PharmaSUG 2013 - Paper TF12 Let s get SAS sy Amie Bissonett, inventiv Health Clinical, Minneapolis, MN ABSTRACT The SAS language has a plethora of procedures, data step statements, functions, and options

More information

Please Don't Lag Behind LAG!

Please Don't Lag Behind LAG! Please Don't Lag Behind LAG! Anjan Matlapudi and J. Daniel Knapp Pharmacy Informatics and Finance PerformRx, The Next Generation PBM 200 Stevens Drive, Philadelphia, PA 19113 ABSTRACT A programmer may

More information

Introduction to Stata. Getting Started. This is the simple command syntax in Stata and more conditions can be added as shown in the examples.

Introduction to Stata. Getting Started. This is the simple command syntax in Stata and more conditions can be added as shown in the examples. Getting Started Command Syntax command varlist, option This is the simple command syntax in Stata and more conditions can be added as shown in the examples. Preamble mkdir tutorial /* to create a new directory,

More information

Chemistry Excel. Microsoft 2007

Chemistry Excel. Microsoft 2007 Chemistry Excel Microsoft 2007 This workshop is designed to show you several functionalities of Microsoft Excel 2007 and particularly how it applies to your chemistry course. In this workshop, you will

More information

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing

More information

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. ABSTRACT The SAS Macro Facility is a tool which lends flexibility to your SAS code and promotes easier maintenance. It

More information

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into

More information

Eventus Example Series Using Non-CRSP Data in Eventus 7 1

Eventus Example Series Using Non-CRSP Data in Eventus 7 1 Eventus Example Series Using Non-CRSP Data in Eventus 7 1 Goal: Use Eventus software version 7.0 or higher to construct a mini-database of data obtained from any source, and run one or more event studies

More information

Econometrics I: OLS. Dean Fantazzini. Dipartimento di Economia Politica e Metodi Quantitativi. University of Pavia

Econometrics I: OLS. Dean Fantazzini. Dipartimento di Economia Politica e Metodi Quantitativi. University of Pavia Dipartimento di Economia Politica e Metodi Quantitativi University of Pavia Overview of the Lecture 1 st EViews Session I: Convergence in the Solow Model 2 Overview of the Lecture 1 st EViews Session I:

More information

Intro to E-Views. E-views is a statistical package useful for cross sectional, time series and panel data statistical analysis.

Intro to E-Views. E-views is a statistical package useful for cross sectional, time series and panel data statistical analysis. Center for Teaching, Research & Learning Research Support Group at the CTRL Lab American University, Washington, D.C. http://www.american.edu/provost/ctrl/ 202-885-3862 Intro to E-Views E-views is a statistical

More information

SAS CURRICULUM. BASE SAS Introduction

SAS CURRICULUM. BASE SAS Introduction SAS CURRICULUM BASE SAS Introduction Data Warehousing Concepts What is a Data Warehouse? What is a Data Mart? What is the difference between Relational Databases and the Data in Data Warehouse (OLTP versus

More information

Inf2B assignment 2. Natural images classification. Hiroshi Shimodaira and Pol Moreno. Submission due: 4pm, Wednesday 30 March 2016.

Inf2B assignment 2. Natural images classification. Hiroshi Shimodaira and Pol Moreno. Submission due: 4pm, Wednesday 30 March 2016. Inf2B assignment 2 (Ver. 1.2) Natural images classification Submission due: 4pm, Wednesday 30 March 2016 Hiroshi Shimodaira and Pol Moreno This assignment is out of 100 marks and forms 12.5% of your final

More information

Module 3: SAS. 3.1 Initial explorative analysis 02429/MIXED LINEAR MODELS PREPARED BY THE STATISTICS GROUPS AT IMM, DTU AND KU-LIFE

Module 3: SAS. 3.1 Initial explorative analysis 02429/MIXED LINEAR MODELS PREPARED BY THE STATISTICS GROUPS AT IMM, DTU AND KU-LIFE St@tmaster 02429/MIXED LINEAR MODELS PREPARED BY THE STATISTICS GROUPS AT IMM, DTU AND KU-LIFE Module 3: SAS 3.1 Initial explorative analysis....................... 1 3.1.1 SAS JMP............................

More information

Outline. Topic 16 - Other Remedies. Ridge Regression. Ridge Regression. Ridge Regression. Robust Regression. Regression Trees. Piecewise Linear Model

Outline. Topic 16 - Other Remedies. Ridge Regression. Ridge Regression. Ridge Regression. Robust Regression. Regression Trees. Piecewise Linear Model Topic 16 - Other Remedies Ridge Regression Robust Regression Regression Trees Outline - Fall 2013 Piecewise Linear Model Bootstrapping Topic 16 2 Ridge Regression Modification of least squares that addresses

More information

Earthquake data in geonet.org.nz

Earthquake data in geonet.org.nz Earthquake data in geonet.org.nz There is are large gaps in the 2012 and 2013 data, so let s not use it. Instead we ll use a previous year. Go to http://http://quakesearch.geonet.org.nz/ At the screen,

More information

SAS Macros of Performing Look-Ahead and Look-Back Reads

SAS Macros of Performing Look-Ahead and Look-Back Reads PharmaSUG 2018 - Paper QT-05 ABSTRACT SAS Macros of Performing Look-Ahead and Look-Back Reads Yanhong Liu, Cincinnati Children s Hospital Medical Center, Cincinnati, OH When working with the time series

More information

Contents of SAS Programming Techniques

Contents of SAS Programming Techniques Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal

More information

Some Basics of CQUEST

Some Basics of CQUEST Some Basics of CQUEST The operating system in RW labs (107/109 and 211) is Windows XP. There are a few terminals in RW 213 running Linux. SAS is run from a Linux Server. Your account is the same and files

More information

STAT:5400 Computing in Statistics

STAT:5400 Computing in Statistics STAT:5400 Computing in Statistics Introduction to SAS Lecture 18 Oct 12, 2015 Kate Cowles 374 SH, 335-0727 kate-cowles@uiowaedu SAS SAS is the statistical software package most commonly used in business,

More information

Sandra Hendren Health Data Institute

Sandra Hendren Health Data Institute INTRODUCTION TO THE MACRO LANGUAGE Sandra Hendren Health Data Institute The purpose of this paper is to explain the macro language at a conceptual level. It will not discuss the syntax of the language

More information

Stat 500 lab notes c Philip M. Dixon, Week 10: Autocorrelated errors

Stat 500 lab notes c Philip M. Dixon, Week 10: Autocorrelated errors Week 10: Autocorrelated errors This week, I have done one possible analysis and provided lots of output for you to consider. Case study: predicting body fat Body fat is an important health measure, but

More information

SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD

SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD ABSTRACT CODERS CORNER SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD The SAS Macro Facility offers a mechanism

More information

ECLT 5810 SAS Programming - Introduction

ECLT 5810 SAS Programming - Introduction ECLT 5810 SAS Programming - Introduction Why SAS? Able to process data set(s). Easy to handle multiple variables. Generate useful basic analysis Summary statistics Graphs Many companies and government

More information

David S. Septoff Fidia Pharmaceutical Corporation

David S. Septoff Fidia Pharmaceutical Corporation UNLIMITING A LIMITED MACRO ENVIRONMENT David S. Septoff Fidia Pharmaceutical Corporation ABSTRACT The full Macro facility provides SAS users with an extremely powerful programming tool. It allows for conditional

More information

Excel 2007 Intermediate Table of Contents

Excel 2007 Intermediate Table of Contents Table of Contents Working with Data... 1 Subtotals... 1 Removing Subtotals... 2 Grouping Columns or Rows... 2 Ungrouping Data... 3 AutoCalculate Customize Status Bar... 3 Format as Table Filters and Sorting...

More information

Time Series Analysis by State Space Methods

Time Series Analysis by State Space Methods Time Series Analysis by State Space Methods Second Edition J. Durbin London School of Economics and Political Science and University College London S. J. Koopman Vrije Universiteit Amsterdam OXFORD UNIVERSITY

More information

Understanding the Concepts and Features of Macro Programming 1

Understanding the Concepts and Features of Macro Programming 1 Contents Preface ix Acknowledgments xi Part 1 Understanding the Concepts and Features of Macro Programming 1 Chapter 1 Introduction 3 What Is the SAS Macro Facility? 4 What Are the Advantages of the SAS

More information

Macro Facility. About the Macro Facility. Automatic Macro Variables CHAPTER 14

Macro Facility. About the Macro Facility. Automatic Macro Variables CHAPTER 14 213 CHAPTER 14 Macro Facility About the Macro Facility 213 Automatic Macro Variables 213 Macro Statements 215 Macro Functions 215 SAS System Options Used by the Macro Facility 216 Using Autocall Libraries

More information

The Time Series Forecasting System Charles Hallahan, Economic Research Service/USDA, Washington, DC

The Time Series Forecasting System Charles Hallahan, Economic Research Service/USDA, Washington, DC The Time Series Forecasting System Charles Hallahan, Economic Research Service/USDA, Washington, DC INTRODUCTION The Time Series Forecasting System (TSFS) is a component of SAS/ETS that provides a menu-based

More information

Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA

Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA ABSTRACT Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA Data set documentation is essential to good

More information

An Introduction to Stata By Mike Anderson

An Introduction to Stata By Mike Anderson An Introduction to Stata By Mike Anderson Installation and Start Up A 50-user licensed copy of Intercooled Stata 8.0 for Solaris is accessible on any Athena workstation. To use it, simply type add stata

More information

3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200;

3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200; Randy s SAS hints, updated Feb 6, 2014 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, first version: March 8, 2013 ***************; 2. Don

More information

Dr. Barbara Morgan Quantitative Methods

Dr. Barbara Morgan Quantitative Methods Dr. Barbara Morgan Quantitative Methods 195.650 Basic Stata This is a brief guide to using the most basic operations in Stata. Stata also has an on-line tutorial. At the initial prompt type tutorial. In

More information

Annexes : Sorties SAS pour l'exercice 3. Code SAS. libname process 'G:\Enseignements\M2ISN-Series temp\sas\';

Annexes : Sorties SAS pour l'exercice 3. Code SAS. libname process 'G:\Enseignements\M2ISN-Series temp\sas\'; Annexes : Sorties SAS pour l'exercice 3 Code SAS libname process 'G:\Enseignements\M2ISN-Series temp\sas\'; /* Etape 1 - Création des données*/ proc iml; phi={1-1.583 0.667-0.083}; theta={1}; y=armasim(phi,

More information

CSC 328/428 Summer Session I 2002 Data Analysis for the Experimenter FINAL EXAM

CSC 328/428 Summer Session I 2002 Data Analysis for the Experimenter FINAL EXAM options pagesize=53 linesize=76 pageno=1 nodate; proc format; value $stcktyp "1"="Growth" "2"="Combined" "3"="Income"; data invstmnt; input stcktyp $ perform; label stkctyp="type of Stock" perform="overall

More information

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into

More information

Macros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility

Macros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility Macros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility Michael G. Sadof, MGS Associates, Inc., Bethesda, MD. ABSTRACT The macro facility is an important feature of the

More information

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority SAS 101 Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23 By Tasha Chapman, Oregon Health Authority Topics covered All the leftovers! Infile options Missover LRECL=/Pad/Truncover

More information

Customising SAS OQ to Provide Business Specific Testing of SAS Installations and Updates

Customising SAS OQ to Provide Business Specific Testing of SAS Installations and Updates Paper TS07 Customising SAS OQ to Provide Business Specific Testing of SAS Installations and Updates Steve Huggins, Amadeus Software Limited, Oxford, UK ABSTRACT The SAS Installation Qualification and Operational

More information

Using MACRO and SAS/GRAPH to Efficiently Assess Distributions. Paul Walker, Capital One

Using MACRO and SAS/GRAPH to Efficiently Assess Distributions. Paul Walker, Capital One Using MACRO and SAS/GRAPH to Efficiently Assess Distributions Paul Walker, Capital One INTRODUCTION A common task in data analysis is assessing the distribution of variables by means of univariate statistics,

More information

SAS Macro Language: Reference

SAS Macro Language: Reference SAS Macro Language: Reference INTRODUCTION Getting Started with the Macro Facility This is the macro facility language reference for the SAS System. It is a reference for the SAS macro language processor

More information

DSCI 325: Handout 9 Sorting and Options for Printing Data in SAS Spring 2017

DSCI 325: Handout 9 Sorting and Options for Printing Data in SAS Spring 2017 DSCI 325: Handout 9 Sorting and Options for Printing Data in SAS Spring 2017 There are a handful of statements (TITLE, FOOTNOTE, WHERE, BY, etc.) that can be used in a wide variety of procedures. For example,

More information

SAS Macro. SAS Training Courses. Amadeus Software Ltd

SAS Macro. SAS Training Courses. Amadeus Software Ltd SAS Macro SAS Training Courses By Amadeus Software Ltd AMADEUS SOFTWARE LIMITED SAS TRAINING Amadeus have been delivering SAS Training since 1989 and our aim is to provide you with best quality SAS training

More information

Search Results Tabs. List Tab Options

Search Results Tabs. List Tab Options Search Results Tabs The Search Results screen is sectioned by tabs. These tabs contain information and tools that are vital in how you configure listing information to package and sell to your clients.

More information

Arthur L. Carpenter California Occidental Consultants, Oceanside, California

Arthur L. Carpenter California Occidental Consultants, Oceanside, California Paper 028-30 Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all

More information

The SAS Interface to REXX

The SAS Interface to REXX 95 CHAPTER 9 The SAS Interface to REXX Overview 95 The Subcommand Environment 96 Retrieving and Assigning the Values of REXX Variables in a SAS Program 97 Using the GETEXEC DATA Step Function 97 Using

More information

Introduction to SAS. I. Understanding the basics In this section, we introduce a few basic but very helpful commands.

Introduction to SAS. I. Understanding the basics In this section, we introduce a few basic but very helpful commands. Center for Teaching, Research and Learning Research Support Group American University, Washington, D.C. Hurst Hall 203 rsg@american.edu (202) 885-3862 Introduction to SAS Workshop Objective This workshop

More information

CHAPTER 7 Using Other SAS Software Products

CHAPTER 7 Using Other SAS Software Products 77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80

More information

Ninth ARTNeT Capacity Building Workshop for Trade Research "Trade Flows and Trade Policy Analysis"

Ninth ARTNeT Capacity Building Workshop for Trade Research Trade Flows and Trade Policy Analysis Ninth ARTNeT Capacity Building Workshop for Trade Research "Trade Flows and Trade Policy Analysis" June 2013 Bangkok, Thailand Cosimo Beverelli and Rainer Lanz (World Trade Organization) 1 Introduction

More information

Spreadsheet Warm Up for SSAC Geology of National Parks Modules, 2: Elementary Spreadsheet Manipulations and Graphing Tasks

Spreadsheet Warm Up for SSAC Geology of National Parks Modules, 2: Elementary Spreadsheet Manipulations and Graphing Tasks University of South Florida Scholar Commons Tampa Library Faculty and Staff Publications Tampa Library 2009 Spreadsheet Warm Up for SSAC Geology of National Parks Modules, 2: Elementary Spreadsheet Manipulations

More information

Introduction to STATA

Introduction to STATA Introduction to STATA Duah Dwomoh, MPhil School of Public Health, University of Ghana, Accra July 2016 International Workshop on Impact Evaluation of Population, Health and Nutrition Programs Learning

More information

Leave Your Bad Code Behind: 50 Ways to Make Your SAS Code Execute More Efficiently.

Leave Your Bad Code Behind: 50 Ways to Make Your SAS Code Execute More Efficiently. Leave Your Bad Code Behind: 50 Ways to Make Your SAS Code Execute More Efficiently. William E Benjamin Jr Owl Computer Consultancy, LLC 2012 Topic Groups Processing more than one file in each DATA step

More information

1. What is the minimum number of bits needed to store a single piece of data representing: a. An integer between 0 and 100?

1. What is the minimum number of bits needed to store a single piece of data representing: a. An integer between 0 and 100? 1 CS 105 Review Questions Most of these questions appeared on past exams. 1. What is the minimum number of bits needed to store a single piece of data representing: a. An integer between 0 and 100? b.

More information

Chapter 6: Modifying and Combining Data Sets

Chapter 6: Modifying and Combining Data Sets Chapter 6: Modifying and Combining Data Sets The SET statement is a powerful statement in the DATA step. Its main use is to read in a previously created SAS data set which can be modified and saved as

More information

Title. Description. time series Introduction to time-series commands

Title. Description. time series Introduction to time-series commands Title time series Introduction to time-series commands Description The Time-Series Reference Manual organizes the commands alphabetically, making it easy to find individual command entries if you know

More information

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions Introduction to SAS Procedures SAS Basics III Susan J. Slaughter, Avocet Solutions SAS Essentials Section for people new to SAS Core presentations 1. How SAS Thinks 2. Introduction to DATA Step Programming

More information

Introduction to STATA 6.0 ECONOMICS 626

Introduction to STATA 6.0 ECONOMICS 626 Introduction to STATA 6.0 ECONOMICS 626 Bill Evans Fall 2001 This handout gives a very brief introduction to STATA 6.0 on the Economics Department Network. In a few short years, STATA has become one of

More information

Intermediate SAS: Working with Data

Intermediate SAS: Working with Data Intermediate SAS: Working with Data OIT Technical Support Services 293-4444 oithelp@mail.wvu.edu oit.wvu.edu/training/classmat/sas/ Table of Contents Getting set up for the Intermediate SAS workshop:...

More information

( ) = Y ˆ. Calibration Definition A model is calibrated if its predictions are right on average: ave(response Predicted value) = Predicted value.

( ) = Y ˆ. Calibration Definition A model is calibrated if its predictions are right on average: ave(response Predicted value) = Predicted value. Calibration OVERVIEW... 2 INTRODUCTION... 2 CALIBRATION... 3 ANOTHER REASON FOR CALIBRATION... 4 CHECKING THE CALIBRATION OF A REGRESSION... 5 CALIBRATION IN SIMPLE REGRESSION (DISPLAY.JMP)... 5 TESTING

More information

SAS Macro Programming for Beginners

SAS Macro Programming for Beginners ABSTRACT SAS Macro Programming for Beginners Lora D. Delwiche, Winters, CA Susan J. Slaughter, Avocet Solutions, Davis, CA Macro programming is generally considered an advanced topic. But, while macros

More information

Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ

Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ PharmaSUG 2015 - Paper QT41 Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ ABSTRACT Most often clinical trial data analysis has tight deadlines with very

More information

Scheme: Strings Scheme: I/O

Scheme: Strings Scheme: I/O Scheme: Strings Scheme: I/O CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Wednesday, April 5, 2017 Glenn G. Chappell Department of Computer Science University of

More information

A User Manual for the Multivariate MLE Tool. Before running the main multivariate program saved in the SAS file Part2-Main.sas,

A User Manual for the Multivariate MLE Tool. Before running the main multivariate program saved in the SAS file Part2-Main.sas, A User Manual for the Multivariate MLE Tool Before running the main multivariate program saved in the SAS file Part-Main.sas, the user must first compile the macros defined in the SAS file Part-Macros.sas

More information

AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike Zdeb, School of Public Health

AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike Zdeb, School of Public Health AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike Zdeb, University@Albany School of Public Health INTRODUCTION There are a number of SAS tools that you may never have to use. Why? The main reason

More information

Level I: Getting comfortable with my data in SAS. Descriptive Statistics

Level I: Getting comfortable with my data in SAS. Descriptive Statistics Level I: Getting comfortable with my data in SAS. Descriptive Statistics Quick Review of reading Data into SAS Preparing Data 1. Variable names in the first row make sure they are appropriate for the statistical

More information

1 Downloading files and accessing SAS. 2 Sorting, scatterplots, correlation and regression

1 Downloading files and accessing SAS. 2 Sorting, scatterplots, correlation and regression Statistical Methods and Computing, 22S:30/105 Instructor: Cowles Lab 2 Feb. 6, 2015 1 Downloading files and accessing SAS. We will be using the billion.dat dataset again today, as well as the OECD dataset

More information

Multivariate Time Series: Recent Additions to the VARMAX Procedure

Multivariate Time Series: Recent Additions to the VARMAX Procedure SAS618-2017 Multivariate Time Series: Recent Additions to the VARMAX Procedure Xilong Chen and Stefanos Kechagias, SAS Institute Inc. ABSTRACT Recent advances in computing technology, monitoring systems,

More information

Copy That! Using SAS to Create Directories and Duplicate Files

Copy That! Using SAS to Create Directories and Duplicate Files Copy That! Using SAS to Create Directories and Duplicate Files, SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and

More information

Survey of Math: Excel Spreadsheet Guide (for Excel 2016) Page 1 of 9

Survey of Math: Excel Spreadsheet Guide (for Excel 2016) Page 1 of 9 Survey of Math: Excel Spreadsheet Guide (for Excel 2016) Page 1 of 9 Contents 1 Introduction to Using Excel Spreadsheets 2 1.1 A Serious Note About Data Security.................................... 2 1.2

More information

= 3 + (5*4) + (1/2)*(4/2)^2.

= 3 + (5*4) + (1/2)*(4/2)^2. Physics 100 Lab 1: Use of a Spreadsheet to Analyze Data by Kenneth Hahn and Michael Goggin In this lab you will learn how to enter data into a spreadsheet and to manipulate the data in meaningful ways.

More information

Telemet Mobile Application

Telemet Mobile Application Telemet Mobile Application Access stock market and portfolio data outside Telemet Orion on all mobile devices with access to the internet Executive Summary Telemet America, Inc. is proud to introduce a

More information

Data Acquisition and Integration

Data Acquisition and Integration CHAPTER Data Acquisition and Integration 2 2.1 INTRODUCTION This chapter first provides a brief review of data sources and types of variables from the point of view of data mining. Then it presents the

More information

Macros to Manage your Macros? Garrett Weaver, University of Southern California, Los Angeles, CA

Macros to Manage your Macros? Garrett Weaver, University of Southern California, Los Angeles, CA Macros to Manage your Macros? Garrett Weaver, University of Southern California, Los Angeles, CA ABSTRACT SAS currently offers several methods for users to store and retrieve user-generated macros. The

More information

Lab #3: Probability, Simulations, Distributions:

Lab #3: Probability, Simulations, Distributions: Lab #3: Probability, Simulations, Distributions: A. Objectives: 1. Reading from an external file 2. Create contingency table 3. Simulate a probability distribution 4. The Uniform Distribution Reading from

More information

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions Introduction to SAS Procedures SAS Basics III Susan J. Slaughter, Avocet Solutions DATA versus PROC steps Two basic parts of SAS programs DATA step PROC step Begin with DATA statement Begin with PROC statement

More information

The Dataset Diet How to transform short and fat into long and thin

The Dataset Diet How to transform short and fat into long and thin Paper TU06 The Dataset Diet How to transform short and fat into long and thin Kathryn Wright, Oxford Pharmaceutical Sciences, UK ABSTRACT What do you do when you are given a dataset with one observation

More information

Introduction. Getting Started with the Macro Facility CHAPTER 1

Introduction. Getting Started with the Macro Facility CHAPTER 1 1 CHAPTER 1 Introduction Getting Started with the Macro Facility 1 Replacing Text Strings Using Macro Variables 2 Generating SAS Code Using Macros 3 Inserting Comments in Macros 4 Macro Definition Containing

More information

Introductory SAS example

Introductory SAS example Introductory SAS example STAT:5201 1 Introduction SAS is a command-driven statistical package; you enter statements in SAS s language, submit them to SAS, and get output. A fairly friendly user interface

More information

Why Hash? Glen Becker, USAA

Why Hash? Glen Becker, USAA Why Hash? Glen Becker, USAA Abstract: What can I do with the new Hash object in SAS 9? Instead of focusing on How to use this new technology, this paper answers Why would I want to? It presents the Big

More information

Parallel Programming with the DATA Step: Next Steps

Parallel Programming with the DATA Step: Next Steps ABSTRACT Paper SAS2184-2018 Parallel Programming with the DATA Step: Next Steps David Bultman and Jason Secosky, SAS Institute Inc., Cary, NC The DATA step has been at the core of SAS applications and

More information

A simplistic approach to Grid Computing Edmonton SAS Users Group. April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial

A simplistic approach to Grid Computing Edmonton SAS Users Group. April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial A simplistic approach to Grid Computing Edmonton SAS Users Group April 5, 2016 Bill Benson, Enterprise Data Scienc ATB Financial Grid Computing The Basics Points to Cover: Benefits of Grid Computing Server

More information

An Introduction to Stata Part I: Data Management

An Introduction to Stata Part I: Data Management An Introduction to Stata Part I: Data Management Kerry L. Papps 1. Overview These two classes aim to give you the necessary skills to get started using Stata for empirical research. The first class will

More information

STAT:5400 Computing in Statistics. Other software packages. Microsoft Excel spreadsheet very convenient for entering data in flatfile

STAT:5400 Computing in Statistics. Other software packages. Microsoft Excel spreadsheet very convenient for entering data in flatfile STAT:5400 Computing in Statistics Other Software Packages Proc import A bit on SAS macro language Lecture 26 ov 2, 2016 Kate Cowles 374 SH, 335-0727 kate-cowles@uiowaedu Other software packages Microsoft

More information

Analysis of Panel Data. Third Edition. Cheng Hsiao University of Southern California CAMBRIDGE UNIVERSITY PRESS

Analysis of Panel Data. Third Edition. Cheng Hsiao University of Southern California CAMBRIDGE UNIVERSITY PRESS Analysis of Panel Data Third Edition Cheng Hsiao University of Southern California CAMBRIDGE UNIVERSITY PRESS Contents Preface to the ThirdEdition Preface to the Second Edition Preface to the First Edition

More information