Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
function dailyReturn = dailyReturns ( closingPrices )
    n = size(closingPrices , 2);
    dailyReturn = zeros(n, 1);
    for i = 2:n
        dailyReturn(i)= closingPrices(i)-closingPrices(i-1);
    end
end

 

d)

Code Block
plot(1:10,dailyReturns(closingPrices);

e)

Code Block
 function res = isGoingUp ( n, i, dailyReturn )
    res = true ;
    for j = i: -1: max (1, i-n +1)
        if ( dailyReturn (j) < 0)
            res = false ;
            return ;
        end
    end
end

f)

Code Block
function returns = momentum ( startAmount , n, closingPrices )
    dailyReturn = dailyReturns ( closingPrices );
    cash = startAmount ;
    invested = 0;
    for i = n: size ( closingPrices , 2)
        invested = invested * closingPrices (i) / closingPrices (i -1) ;
        if ( is_going_up (n, i, dailyReturn ))
            % Buy
            invested = invested + cash ;
            cash = 0;
        else
            % Sell
            cash = cash + invested ;
            invested = 0;
        end
    end
    returns = cash + invested ;
end

g)

Code Block
 function res = isGoingDown ( n, i, dailyReturn )
    res = true ;
    for j = i: -1: max (1, i-n +1)
        if ( dailyReturn (j) > 0)
            res = false ;
            return ;
        end
    end
end

h)

Code Block
function res = isGoingDown ( n, i, dailyReturn )
    res = true ;
    for j = i: -1: max (1, i-n +1)
        if ( dailyReturn (j) > 0)
            res = false ;
            return ;
        end
    end
end
Code Block
 function returns = contrarian ( startAmount , n, closingPrice )
    dailyReturn = dailyReturns ( closingPrice );
    cash = startAmount ;
    invested = 0;
    for i = n: size ( closingPrice , 2);
        invested = invested * closingPrice (i) / closingPrice (i -1) ;
        if ( is_going_down (n, i, dailyReturn ))
            % Buy
            invested = invested + cash ;
            cash = 0;
        else
            % Sell
            cash = cash + invested ;
            invested = 0;
        end
    end
    returns = cash + invested ;
end