Seetu features - compared to Amibroker

Hello,

I have been using several Trading/Backtesting softwares, and one of them is Amibroker.
I find Seetu quite easy to understand since it has the same logic as Amibroker and often the same functions names.

However, a lot of powerful features of Amibroker are not available, like PositionScore.

How does seetu manage the “PositionScore” feature of Amibroker?

For example, suppose I trade a universe of 10 stocks and I want to select 2 of them based on some criterion.
An easy example to illustrate would be (in Amibroker): PositionScore = 100 - RSI(2)
This means Amibroker would automatically trade the 2 stocks with the lowest RSI.

Since this feature is not available in Seetu:

  • How does Seetu choose the stocks to trade by default if there are more stocks to buy than available Equity (suppose my buy rule is Buy = 1 and my universe is 10 stocks and each position is 50% of equity => how Seetut chosse the 2 stocks to trade every day? by alphabetical order) ?
  • Is there a way to “force” in seetu code to select the stocks based on some kind of Score ?

Thanks

Almost done.

Stay tuned!

Done.

/* ====================== */
/* PositionScore example  */
/* ====================== */
    
// A fixed set of symbols in this example:
SetOption("Symbols","MSFT,INTC,IBM,YHOO,FB,GE,BA");

SetOption("InitialEquity",50000);

// Positions sizes: use 25% of the current portfolio equity. (It means max. 4 open positions.)
SetPositionSize( 25, spsPercentOfEquity );

// Buy in 100 stocks "lots". 
SetOption("RoundLotSize",100);
    
/* ============================================================ */
/* Assign PositionScore to individual symbols in this example.  */
/* ============================================================ */

if(Name()=="MSFT"){ PositionScore = 100; }  
if(Name()=="FB")  { PositionScore = 90; }  
if(Name()=="GE")  { PositionScore = 80; }  
if(Name()=="BA")  { PositionScore = 70; }  
if(Name()=="YHOO"){ PositionScore = 3; }  
if(Name()=="IBM") { PositionScore = 2; }  
if(Name()=="INTC"){ PositionScore = 1; }  

/*      
 Comments: 

- MSFT has an absolute priority, then FB, GE, BA.
 
- These four high priority symbols will be traded almost exclusively
  in this example, because we have SetPositionSize( 25, spsPercentOfEquity );
  It means max. 4 positions in the strategy. 
 
- If a "lot" of 100 stocks of MSFT, FB, GE or BA costs more than 25% of equity, we can't buy such symbol. 
 
- In that case Seetu will try to buy a "lot" of YHOO then IBM then INTC.
 (It is s difference from AmiBroker. Amibroker stops on the first symbol which can't be bought.)

- If no symbol can be bought then just 3 positions will be opened.
 
*/ 

// Your trading logic here....

Thanks !

Nice feature to have.
Especially for rotational trading systems that will rebalance based on ranking.

Quick question. I can’t find any documentation on PositionScore other than this reference in the forums. Does it still work? If so, are there any differences from Amibroker?

Hello,

it should work as described in the example above and the same way as in Amibroker.
There is no other documentation there.