SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1173|回复: 0
打印 上一主题 下一主题

Top 10 reasons for a modeler to learn PROC FCMP

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2012-3-9 13:17:46 | 只看该作者

Top 10 reasons for a modeler to learn PROC FCMP

From Dapangmao's blog on sas-analysis

<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-XGDj_SEJqvE/T1l9NAF644I/AAAAAAAAA8k/Za5UtvaBlJ8/s1600/3-8-2012%2B9-45-50%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="241" src="http://2.bp.blogspot.com/-XGDj_SEJqvE/T1l9NAF644I/AAAAAAAAA8k/Za5UtvaBlJ8/s400/3-8-2012%2B9-45-50%2BPM.png" width="400" /></a></div><br />
10. &nbsp;New financial functions<br />
<a href="http://www.sasanalysis.com/2011/06/credit-default-swap-pricing-by-proc.html">34 pre-compiled financial functions</a> were shipped with SAS for free, which can be called in DATA step.<br />
<br />
9. A management GUI<br />
There is a nice-looking Java-powered GUI to manage the user-defined functions: <a href="http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a003265389.htm">SAS FCmp function editor</a>.<br />
<br />
8. Dynamic parameters<br />
Parameters <a href="http://www.sasanalysis.com/2011/10/create-nelson-siegel-function-for-yield.html">from other statistical procedures</a> in SAS can be passed to a function. We can use a macro to wrap PROC FCMP to create tons of data-driven functions (temporary or permanent).<br />
<br />
7. Migration from VBA<br />
Excel dominates every desktop. However, using VBA to process large data is just a pain, such as calculating a transition matrix for probability of default. PROC FCMP is <a href="http://www.sasanalysis.com/2012/02/cholesky-decomposition-to-expand-data.html">built on the logic of VBA</a> -- easy to port any Excel macro/functions to SAS.<br />
<br />
6. Backtesting<br />
PROC FCMP loads data into memory. For <a href="http://www.sasanalysis.com/2012/03/rolling-regressions-for-backtesting.html">backtesting task</a>, it is much more efficient than hard-disk based DATA step.<br />
<br />
5. Function/subroutine compiler<br />
A lot of functions/subroutines SAS doesn’t have can be built, such as <a href="http://www.sasanalysis.com/2010/12/proc-fcmp2-binomial-tree-vs-black.html">Binomial tree function</a> or <a href="http://www.sasanalysis.com/2011/04/subroutine-in-sas-to-simulate-asset.html">an asset price simulation subroutine</a>.<br />
<br />
4. &nbsp;Encapsulation<br />
To combine a lot of macros/nested macros for a complicated system, encapsulating the macro variables is a serious concern – PROC FCMP may be <a href="http://www.sasanalysis.com/2011/08/macro-design-pattern-by-proc-fcmp.html">a rescue</a>.<br />
<br />
3. Monte Carlo simulation<br />
The MCMC procedure, the designated procedure for Monte Carlo simulation in SAS, fully support the syntax of PROC FCMP with its <a href="http://support.sas.com/documentation/cdl/en/statug/63962/HTML/default/viewer.htm#statug_mcmc_sect064.htm">BEGINCNST and ENDCNST statements</a>.<br />
<br />
2. Deal with matrix<br />
As part of SAS/BASE, PROC FCMP, allows <a href="http://www.sasanalysis.com/2011/03/array-20-matrix-friendly-array-in-proc.html">all kinds of matrix operations</a>&nbsp;everywhere with a SAS system.<br />
<br />
1. Low level computation<br />
The combination of PROC FCMP and PROC PROTO together wraps C functions in SAS. It is interesting to <a href="http://support.sas.com/resources/papers/proceedings11/083-2011.pdf">compare the efficiency between a C function and a SAS function</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3256159328630041416-240731162948868879?l=www.sasanalysis.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/SasAnalysis/~4/ZxHq14_a19M" height="1" width="1"/>
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-5-6 17:54 , Processed in 0.066040 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表