NexusFi: Find Your Edge


Home Menu

 





Want YTD % Return


Discussion in ThinkOrSwim

Updated
    1. trending_up 6,989 views
    2. thumb_up 2 thanks given
    3. group 2 followers
    1. forum 2 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
ScatmanCrothers
Atlanta Georgia
 
Posts: 2 since Jun 2014
Thanks Given: 0
Thanks Received: 2

Hello, I am trying to make a custom study to display the Year-To-Date return as a column on the Marketwatch Tab
of TOS, my script looks like this with aggregation set to "D" (Daily):

plot ytdreturn = (close()-close[167])/(close[167]);

By my understanding that should give the close for today minus the close from 167 days ago, divided by the close from 167 days ago or the Year to Date % return in other words.

However, this gives me a 161% return for priceline (obviously incorrect, even if you use the 52 wk low it is impossible)
And a 133% return for the SOX (52 week low is 442, again impossible).

Can anyone please help???


Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
Kharg Island at 6%, Regime Fall at 1.5% -- The Black Swa …
Prediction Markets & Event Contracts
Trump Truth Social Fires Hormuz From 10% to 59% -- Arsen …
Prediction Markets & Event Contracts
One Wallet Made $200K in Hours: AP Probes Polymarket Cea …
Prediction Markets & Event Contracts
Iran Lebanon Problem Kills Switzerland Talks, Brent at $ …
Prediction Markets & Event Contracts
CFTC Opens First COT Report Review in 20 Years -- Asks W …
Traders Hideout
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Big Mike in Ecuador
205 thanks
Sober Journey With S&P
21 thanks
30 Sessions
20 thanks
Volume Indicators
8 thanks
Thanks Mike. Godspeed.
7 thanks
  #2 (permalink)
ScatmanCrothers
Atlanta Georgia
 
Posts: 2 since Jun 2014
Thanks Given: 0
Thanks Received: 2

To answer my own question partially:

plot ytdreturn =100* (close(period = AggregationPeriod.DAY)-close(period = AggregationPeriod.DAY)[251])/(close(period = AggregationPeriod.DAY)[251]);

That will give approximately 1 year of returns (251 business/trading days).

Similarly:

plot ytdreturn =100* (close(period = AggregationPeriod.DAY)-close(period = AggregationPeriod.DAY)[115])/(close(period = AggregationPeriod.DAY)[115]);

Since there have been 115 trading days since the beginning of this year, the above formula gives YTD % Return. I would like to figure out a way to replace the 115 with a variable since tomorrow it will be 116, day after 117 and I don't want to have to change it every day.....


Reply With Quote
Thanked by:
  #3 (permalink)
eminikelvin
Singapore
 
Posts: 11 since Feb 2014
Thanks Given: 0
Thanks Received: 3


Thanks! I was also trying to do something similar some time back.


Reply With Quote




Last Updated on July 7, 2014


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts