Sunday, 14 December 2025

339.CRYPTOCURRENCY MARKET ANALYSIS AND RISK MODELLING USING PROC SQL | PROC MEANS | PROC REG | PROC UNIVARIATE | PROC SGPLOT | PROC CORR | MACROS | DATE FUNCTIONS (INTCK | INTNX)

CRYPTOCURRENCY MARKET ANALYSIS AND RISK MODELLING USING PROC SQL | PROC MEANS | PROC REG | PROC UNIVARIATE | PROC SGPLOT | PROC CORR | MACROS | DATE FUNCTIONS (INTCK | INTNX) 

options nocenter;

1.CRYPTOCURRENCIES DATASET CREATION 

data work.crypto_raw;

    length Coin_Name $20;

    informat Launch_Date date9.;

    format Launch_Date Last_Updated date9.;


    input Coin_Name $ Market_Cap Price Volatility Transactions Energy_Usage

            Launch_Date :date9.;

    /* Date derivations */

    Last_Updated = intnx('month', Launch_Date, 6, 'same');

    Days_Since_Launch = intck('day', Launch_Date, today());


datalines;

Bitcoin     850 42000 4.5 350000 707 03JAN2009

Ethereum    380 2300  5.2 900000 62  30JUL2015

BinanceCoin 90  310   3.8 1200000 12 14JUL2017

Cardano     45  0.55  6.1 250000  6  29SEP2017

Solana      65  95    7.5 1800000 5  16MAR2020

Ripple      55  0.75  5.9 1400000 2  02FEB2013

Polkadot    35  7.5   6.8 600000  8  26AUG2020

Dogecoin    20  0.15  9.2 450000  15 06DEC2013

Litecoin    30  85    4.1 300000  18 13OCT2011

Avalanche   28  38    6.4 500000  7  21SEP2020

Chainlink   25  14    5.7 420000  9  19SEP2017

Polygon     18  0.9   6.9 800000  4  10OCT2017

;

run;

proc print data=work.crypto_raw;

run;

OUTPUT:

ObsCoin_NameLaunch_DateLast_UpdatedMarket_CapPriceVolatilityTransactionsEnergy_UsageDays_Since_Launch
1Bitcoin03JAN200903JUL200985042000.004.53500007076190
2Ethereum30JUL201530JAN20163802300.005.2900000623791
3BinanceCoin14JUL201714JAN201890310.003.81200000123076
4Cardano29SEP201729MAR2018450.556.125000062999
5Solana16MAR202016SEP20206595.007.5180000052100
6Ripple02FEB201302AUG2013550.755.9140000024699
7Polkadot26AUG202026FEB2021357.506.860000081937
8Dogecoin06DEC201306JUN2014200.159.2450000154392
9Litecoin13OCT201113APR20123085.004.1300000185177
10Avalanche21SEP202021MAR20212838.006.450000071911
11Chainlink19SEP201719MAR20182514.005.742000093009
12Polygon10OCT201710APR2018180.906.980000042988


2.PROC SQL – DATA EXTRACTION & FILTERING

proc sql;

    create table crypto_highcap as

    select Coin_Name,Market_Cap,Price,Volatility,Transactions,Energy_Usage,Launch_Date,

           Last_Updated

    from crypto_raw

    where Market_Cap > 50

    order by Market_Cap desc;

quit;

proc print data=crypto_highcap;

run;

OUTPUT:

ObsCoin_NameMarket_CapPriceVolatilityTransactionsEnergy_UsageLaunch_DateLast_Updated
1Bitcoin85042000.004.535000070703JAN200903JUL2009
2Ethereum3802300.005.29000006230JUL201530JAN2016
3BinanceCoin90310.003.812000001214JUL201714JAN2018
4Solana6595.007.51800000516MAR202016SEP2020
5Ripple550.755.91400000202FEB201302AUG2013


3.PROC MEANS – DESCRIPTIVE STATISTICS

proc means data=crypto_raw mean min max std;

    var Market_Cap Price Volatility Transactions Energy_Usage Days_Since_Launch;

run;

OUTPUT:

The MEANS Procedure

VariableMeanMinimumMaximumStd Dev
Market_Cap
Price
Volatility
Transactions
Energy_Usage
Days_Since_Launch
136.7500000
3737.65
6.0083333
747500.00
71.2500000
3522.42
18.0000000
0.1500000
3.8000000
250000.00
2.0000000
1911.00
850.0000000
42000.00
9.2000000
1800000.00
707.0000000
6190.00
245.7134787
12067.10
1.5240248
490716.08
200.8487106
1355.87

4.PROC UNIVARIATE – DISTRIBUTION ANALYSIS

proc univariate data=crypto_raw;

    var Volatility Energy_Usage;

    histogram Volatility Energy_Usage;

run;

OUTPUT:

The UNIVARIATE Procedure

Variable: Volatility

Moments
N12Sum Weights12
Mean6.00833333Sum Observations72.1
Std Deviation1.52402478Variance2.32265152
Skewness0.47424428Kurtosis0.41892236
Uncorrected SS458.75Corrected SS25.5491667
Coeff Variation25.3651835Std Error Mean0.43994806
Basic Statistical Measures
LocationVariability
Mean6.008333Std Deviation1.52402
Median6.000000Variance2.32265
Mode.Range5.40000
  Interquartile Range2.00000
Tests for Location: Mu0=0
TestStatisticp Value
Student's tt13.65692Pr > |t|<.0001
SignM6Pr >= |M|0.0005
Signed RankS39Pr >= |S|0.0005
Quantiles (Definition 5)
LevelQuantile
100% Max9.20
99%9.20
95%9.20
90%7.50
75% Q36.85
50% Median6.00
25% Q14.85
10%4.10
5%3.80
1%3.80
0% Min3.80
Extreme Observations
LowestHighest
ValueObsValueObs
3.836.410
4.196.87
4.516.912
5.227.55
5.7119.28

The UNIVARIATE Procedure

Histogram for Volatility

The UNIVARIATE Procedure

Variable: Energy_Usage

Moments
N12Sum Weights12
Mean71.25Sum Observations855
Std Deviation200.848711Variance40340.2045
Skewness3.42602819Kurtosis11.8003497
Uncorrected SS504661Corrected SS443742.25
Coeff Variation281.892927Std Error Mean57.9800286
Basic Statistical Measures
LocationVariability
Mean71.25000Std Deviation200.84871
Median8.50000Variance40340
Mode.Range705.00000
  Interquartile Range11.00000
Tests for Location: Mu0=0
TestStatisticp Value
Student's tt1.228871Pr > |t|0.2448
SignM6Pr >= |M|0.0005
Signed RankS39Pr >= |S|0.0005
Quantiles (Definition 5)
LevelQuantile
100% Max707.0
99%707.0
95%707.0
90%62.0
75% Q316.5
50% Median8.5
25% Q15.5
10%4.0
5%2.0
1%2.0
0% Min2.0
Extreme Observations
LowestHighest
ValueObsValueObs
26123
412158
55189
64622
7107071

The UNIVARIATE Procedure

Histogram for Energy_Usage

5.PROC REG – REGRESSION MODELING

proc reg data=crypto_raw;

    model Price = Market_Cap Volatility Energy_Usage;

run;

quit;

OUTPUT:

The REG Procedure

Model: MODEL1

Dependent Variable: Price

Number of Observations Read12
Number of Observations Used12
Analysis of Variance
SourceDFSum of
Squares
Mean
Square
F ValuePr > F
Model316007429085335809694183.16<.0001
Error81020435127554  
Corrected Total111601763344   
Root MSE357.14764R-Square0.9994
Dependent Mean3737.65417Adj R-Sq0.9991
Coeff Var9.55540  
Parameter Estimates
VariableDFParameter
Estimate
Standard
Error
t ValuePr > |t|
Intercept1-358.66926518.45460-0.690.5086
Market_Cap1-2.749321.34947-2.040.0760
Volatility1-5.1566177.82243-0.070.9488
Energy_Usage163.203871.6045439.39<.0001

The REG Procedure

Model: MODEL1

Dependent Variable: Price

Panel of fit diagnostics for Price.
Panel of scatterplots of residuals by regressors for Price.

6.PROC SGPLOT – VISUALIZATION

proc sgplot data=crypto_raw;

    scatter x=Market_Cap y=Price;

    reg x=Market_Cap y=Price;

    title "Market Capitalization vs Price";

run;

OUTPUT:

The SGPlot Procedure


7.ADDITIONAL PROC – PROC CORR

proc corr data=crypto_raw;

    var Market_Cap Price Volatility Transactions Energy_Usage;

run;

OUTPUT:

The CORR Procedure

5 Variables:Market_Cap Price Volatility Transactions Energy_Usage
Simple Statistics
VariableNMeanStd DevSumMinimumMaximum
Market_Cap12136.75000245.71348164118.00000850.00000
Price12373812067448520.1500042000
Volatility126.008331.5240272.100003.800009.20000
Transactions1274750049071689700002500001800000
Energy_Usage1271.25000200.84871855.000002.00000707.00000
Pearson Correlation Coefficients, N = 12
Prob > |r| under H0: Rho=0
 Market_CapPriceVolatilityTransactionsEnergy_Usage
Market_Cap
1.00000
 
0.93449
<.0001
-0.39796
0.2001
-0.14777
0.6467
0.94128
<.0001
Price
0.93449
<.0001
1.00000
 
-0.32574
0.3015
-0.24805
0.4370
0.99951
<.0001
Volatility
-0.39796
0.2001
-0.32574
0.3015
1.00000
 
0.09351
0.7725
-0.33020
0.2945
Transactions
-0.14777
0.6467
-0.24805
0.4370
0.09351
0.7725
1.00000
 
-0.25894
0.4164
Energy_Usage
0.94128
<.0001
0.99951
<.0001
-0.33020
0.2945
-0.25894
0.4164
1.00000
 

8.MACRO FOR RISK GROUPING

%macro risk_group(var=, out=);

    if &var < 4 then &out = "Low_Risk";

    else if &var < 6 then &out = "Medium_Risk";

    else &out = "High_Risk";

%mend risk_group;


data crypto_with_risk;

    set crypto_raw;

    length Risk_Level $12;


    %risk_group(var=Volatility, out=Risk_Level);


run;


proc print data=crypto_with_risk;

run;

OUTPUT:

ObsCoin_NameLaunch_DateLast_UpdatedMarket_CapPriceVolatilityTransactionsEnergy_UsageDays_Since_LaunchRisk_Level
1Bitcoin03JAN200903JUL200985042000.004.53500007076190Medium_Risk
2Ethereum30JUL201530JAN20163802300.005.2900000623791Medium_Risk
3BinanceCoin14JUL201714JAN201890310.003.81200000123076Low_Risk
4Cardano29SEP201729MAR2018450.556.125000062999High_Risk
5Solana16MAR202016SEP20206595.007.5180000052100High_Risk
6Ripple02FEB201302AUG2013550.755.9140000024699Medium_Risk
7Polkadot26AUG202026FEB2021357.506.860000081937High_Risk
8Dogecoin06DEC201306JUN2014200.159.2450000154392High_Risk
9Litecoin13OCT201113APR20123085.004.1300000185177Medium_Risk
10Avalanche21SEP202021MAR20212838.006.450000071911High_Risk
11Chainlink19SEP201719MAR20182514.005.742000093009Medium_Risk
12Polygon10OCT201710APR2018180.906.980000042988High_Risk


9.DATE FUNCTIONS DEMONSTRATION

data crypto_dates;

    set crypto_raw;


    Months_Since_Launch = intck('month', Launch_Date, today());

    Next_Review_Date = intnx('month', today(), 3, 'same');

    Launch_Year = year(Launch_Date);

run;

proc print data=crypto_dates;

run;

OUTPUT:
ObsCoin_NameLaunch_DateLast_UpdatedMarket_CapPriceVolatilityTransactionsEnergy_UsageDays_Since_LaunchMonths_Since_LaunchNext_Review_DateLaunch_Year
1Bitcoin03JAN200903JUL200985042000.004.53500007076190203241802009
2Ethereum30JUL201530JAN20163802300.005.2900000623791125241802015
3BinanceCoin14JUL201714JAN201890310.003.81200000123076101241802017
4Cardano29SEP201729MAR2018450.556.12500006299999241802017
5Solana16MAR202016SEP20206595.007.518000005210069241802020
6Ripple02FEB201302AUG2013550.755.9140000024699154241802013
7Polkadot26AUG202026FEB2021357.506.86000008193764241802020
8Dogecoin06DEC201306JUN2014200.159.2450000154392144241802013
9Litecoin13OCT201113APR20123085.004.1300000185177170241802011
10Avalanche21SEP202021MAR20212838.006.45000007191163241802020
11Chainlink19SEP201719MAR20182514.005.74200009300999241802017
12Polygon10OCT201710APR2018180.906.98000004298898241802017


YESTERDAY INVALID CODE ANSWER

5.CREATING NEW VARIABLE

data logic_speed;

    set transport_enhanced;

    Speed_Growth = Years_Operational / Speed;  (WRONG)

    Speed_Growth = Speed / Years_Operational  ;  

run;

run;

proc print data=logic_speed;

run;

/* Note: In practice above there is an Invalid in this code Find it,Correct it and Use it /*




To Visit My Previous Software Company Analysis Dataset:Click Here
To Visit My Previous Vote Program Dataset:Click Here
To Visit My Previous Audi Cars Performance Analysis Dataset:Click Here
To Visit My Previous Global Clothing Trends Dataset:Click Here  



Follow Us On : 


 


--- FOLLOW OUR BLOG FOR MORE INFORMATION.

--->PLEASE DO COMMENTS AND SHARE OUR BLOG.


No comments:

Post a Comment