Can you please name providers that provide not only Ex-date, but also actual payment date?
And also how to access this property in C# (found an example bars.EventDataPoints.LastOrDefault(eventData => eventData.Name == myFieldName))?
Thank you
And also how to access this property in C# (found an example bars.EventDataPoints.LastOrDefault(eventData => eventData.Name == myFieldName))?
Thank you
Rename
I would start by reading the blog discussion about WL fundamental event providers. These types of providers would have dividend information. https://www.wealth-lab.com/blog/wealthlab-data-providers
I'm not sure the free choices will have the breath of information you want, but you certainly can jump for a paid subscription to get the more extensive data you are looking for. The other consideration is that the paid choices are much faster than the free choices. (I typically disable the free choices during my morning data download.) EODHD is certainly one of those paid choices that offers an extensive fundamental subscription for $60/month.
Finally, there are some fundamental providers like Tiingo that have tons of fundamental data available in their API, but no one has written a WL event provider extension to get some of this data into WL. If you're a programmer (Can you write code for a REST endpoint?), you can write one yourself or pay someone to do it. My point is to examine each individual fundamental data provider website to determine if the information you want is available, then investigate if there's a WL event provider extension to bring that particular data into WL.
I'm not sure the free choices will have the breath of information you want, but you certainly can jump for a paid subscription to get the more extensive data you are looking for. The other consideration is that the paid choices are much faster than the free choices. (I typically disable the free choices during my morning data download.) EODHD is certainly one of those paid choices that offers an extensive fundamental subscription for $60/month.
Finally, there are some fundamental providers like Tiingo that have tons of fundamental data available in their API, but no one has written a WL event provider extension to get some of this data into WL. If you're a programmer (Can you write code for a REST endpoint?), you can write one yourself or pay someone to do it. My point is to examine each individual fundamental data provider website to determine if the information you want is available, then investigate if there's a WL event provider extension to bring that particular data into WL.
The free Nasdaq Event Provider (Data Extensions) has that, as does Tradier (with an account).
CODE:
public override void Initialize(BarHistory bars) { WriteToDebugLog("Value\tDeclared\tRecordDate\tPaymentDate\tDivType"); for (int i = 0; i < bars.EventDataPoints.Count; i++) { EventDataPoint edp = bars.EventDataPoints[i]; if (edp.ProviderName.StartsWith("Nasdaq") && edp.ItemName == "Dividend" && edp.HasDetailItems) WriteToDebugLog($"{edp.Value:N4}\t{edp.Details["PaymentDate"]:yyyy-MM-dd}\t{edp.Details["DeclarationDate"]:yyyy-MM-dd}\t{edp.Details["RecordDate"]:yyyy-MM-dd}\t{edp.Details["DivType"]}"); } }
Thank you very much for the advices. Yesterday I examined Tiingo API, but the dividend endpoint is in Beta and only available on request.
I will try the free Nasdaq provider, and the kindly provided source-code
I will try the free Nasdaq provider, and the kindly provided source-code
It seems that Nasdaq doesn't load any dividend data. I simplified the code to:
The output is:
Dividends are ON:


What am I missing?
Thank you!
CODE:
public override void Initialize(BarHistory bars) { WriteToDebugLog("Value\tDeclared\tRecordDate\tPaymentDate\tDivType"); for (int i = 0; i < bars.EventDataPoints.Count; i++) { EventDataPoint edp = bars.EventDataPoints[i]; WriteToDebugLog(edp.ItemName + " " + edp.Date); } }
The output is:
CODE:
Value Declared RecordDate PaymentDate DivType Short Interest 13.09.2024 0:00:00 Short Interest 30.09.2024 0:00:00 Short Interest 15.10.2024 0:00:00 Short Interest 31.10.2024 0:00:00 Short Interest 15.11.2024 0:00:00 Short Interest 29.11.2024 0:00:00 Short Interest 13.12.2024 0:00:00 Short Interest 31.12.2024 0:00:00 Short Interest 15.01.2025 0:00:00 Short Interest 31.01.2025 0:00:00 Short Interest 14.02.2025 0:00:00 Short Interest 28.02.2025 0:00:00 Short Interest 14.03.2025 0:00:00 Short Interest 31.03.2025 0:00:00 Short Interest 15.04.2025 0:00:00 Short Interest 30.04.2025 0:00:00 Short Interest 15.05.2025 0:00:00 Short Interest 30.05.2025 0:00:00 Short Interest 13.06.2025 0:00:00 Short Interest 30.06.2025 0:00:00 Short Interest 15.07.2025 0:00:00 Short Interest 31.07.2025 0:00:00 Short Interest 15.08.2025 0:00:00 Short Interest 29.08.2025 0:00:00
Dividends are ON:
What am I missing?
Thank you!
Well not every stock pays dividends. These stocks work for me.
ADEA AAON ADI ADSK ADTN AEIS
My code below is slightly different, but that's only because I define eventDataPoints as a "local" variable within MyStrategy. But I don't think you have to do that. I also corrected the ordering of the dates in the Write statement. Make sure you have all the using statements defined as needed.
ADEA AAON ADI ADSK ADTN AEIS
My code below is slightly different, but that's only because I define eventDataPoints as a "local" variable within MyStrategy. But I don't think you have to do that. I also corrected the ordering of the dates in the Write statement. Make sure you have all the using statements defined as needed.
CODE:
using System.Collections.Generic; //for List<EventDataPoint> using WealthLab.Backtest; using WealthLab.Core; using WealthLab.Data; //for DataExtensions extension namespace WealthScript142 { public class MyStrategy : UserStrategyBase { List<EventDataPoint> eventDataPoints; public override void Initialize(BarHistory bars) { eventDataPoints = bars.EventDataPoints; WriteToDebugLog("Value\tDeclared\tRecordDate\tPaymentDate\tDivType"); foreach (EventDataPoint edp in eventDataPoints) { if (edp.ProviderName.StartsWith("Nasdaq") && edp.ItemName == "Dividend" && edp.HasDetailItems) WriteToDebugLog($"{edp.Value:N4}\t{edp.Details["DeclarationDate"]}\t{edp.Details["RecordDate"]}\t{edp.Details["PaymentDate"]}\t{edp.Details["DivType"]}"); } } public override void Execute(BarHistory bars, int idx) { } } }
CODE:
---Symbol by Symbol Debug Logs--- ---ADI--- Value Declared RecordDate PaymentDate DivType 0.0600 8/12/2004 8/27/2004 9/15/2004 Cash 0.0600 11/23/2004 12/3/2004 12/22/2004 Cash 0.0600 2/10/2005 2/25/2005 3/16/2005 Cash 0.1000 5/12/2005 5/27/2005 6/15/2005 Cash 0.1000 8/11/2005 8/26/2005 9/14/2005 Cash 0.1200 11/15/2005 11/25/2005 12/14/2005 Cash 0.1600 3/14/2006 5/26/2006 6/14/2006 Cash 0.1600 8/10/2006 8/25/2006 9/13/2006 Cash 0.1600 11/14/2006 11/24/2006 12/13/2006 Cash 0.1800 2/21/2007 3/9/2007 3/28/2007 Cash 0.1800 5/22/2007 6/1/2007 6/20/2007 Cash 0.1800 8/21/2007 8/31/2007 9/19/2007 Cash 0.1800 11/27/2007 12/7/2007 12/26/2007 Cash 0.1800 2/20/2008 3/7/2008 3/26/2008 Cash 0.2000 5/20/2008 5/30/2008 6/18/2008 Cash 0.2000 8/18/2008 8/29/2008 9/17/2008 Cash 0.2000 11/20/2008 12/5/2008 12/24/2008 Cash 0.2000 5/18/2009 5/29/2009 6/17/2009 Cash 0.2000 8/17/2009 8/27/2009 9/16/2009 Cash 0.2000 11/19/2009 12/4/2009 12/23/2009 Cash 0.2000 2/16/2010 3/5/2010 3/24/2010 Cash 0.2200 5/17/2010 5/28/2010 6/16/2010 Cash 0.2200 8/16/2010 8/27/2010 9/15/2010 Cash 0.2200 11/19/2010 12/3/2010 12/22/2010 Cash 0.2200 2/14/2011 3/4/2011 3/23/2011 Cash 0.2500 5/16/2011 5/27/2011 6/15/2011 Cash 0.2500 8/15/2011 8/26/2011 9/14/2011 Cash 0.2500 11/18/2011 12/2/2011 12/21/2011 Cash 0.3000 2/21/2012 3/9/2012 3/28/2012 Cash 0.3400 8/19/2013 8/30/2013 9/11/2013 Cash 0.3400 11/25/2013 12/6/2013 12/17/2013 Cash 0.3700 2/17/2014 2/28/2014 3/11/2014 Cash 0.3700 5/19/2014 5/30/2014 6/10/2014 Cash 0.3700 8/25/2014 9/5/2014 9/17/2014 Cash 0.3700 11/24/2014 12/5/2014 12/16/2014 Cash 0.4000 2/16/2015 2/27/2015 3/10/2015 Cash 0.4000 5/18/2015 5/29/2015 6/9/2015 Cash 0.4000 8/17/2015 8/28/2015 9/9/2015 Cash 0.4000 11/23/2015 12/4/2015 12/15/2015 Cash 0.4200 2/15/2016 2/26/2016 3/8/2016 Cash 0.4200 5/16/2016 5/27/2016 6/7/2016 Cash 0.4200 8/15/2016 8/26/2016 9/7/2016 Cash 0.4200 11/21/2016 12/2/2016 12/13/2016 Cash 0.4500 2/13/2017 2/24/2017 3/7/2017 Cash 0.4500 5/30/2017 6/9/2017 6/20/2017 Cash 0.4500 8/28/2017 9/8/2017 9/19/2017 Cash 0.4500 11/20/2017 12/1/2017 12/12/2017 Cash 0.4800 2/27/2018 3/9/2018 3/20/2018 Cash 0.4800 5/29/2018 6/8/2018 6/19/2018 Cash 0.4800 8/21/2018 8/31/2018 9/12/2018 Cash 0.4800 11/19/2018 11/29/2018 12/10/2018 Cash 0.5400 2/19/2019 3/1/2019 3/12/2019 Cash 0.5400 5/21/2019 5/31/2019 6/11/2019 Cash 0.5400 8/20/2019 8/30/2019 9/11/2019 Cash 0.5400 11/25/2019 12/6/2019 12/17/2019 Cash 0.6200 2/18/2020 2/28/2020 3/10/2020 Cash 0.6200 5/19/2020 5/29/2020 6/9/2020 Cash 0.6200 8/18/2020 8/28/2020 9/9/2020 Cash 0.6200 11/23/2020 12/4/2020 12/15/2020 Cash 0.6900 2/16/2021 2/26/2021 3/9/2021 Cash 0.6900 5/18/2021 5/28/2021 6/8/2021 Cash 0.6900 8/17/2021 8/27/2021 9/8/2021 Cash 0.6900 11/22/2021 12/3/2021 12/14/2021 Cash 0.7600 2/15/2022 2/25/2022 3/8/2022 Cash 0.7600 5/17/2022 5/31/2022 6/9/2022 Cash 0.7600 8/16/2022 8/30/2022 9/8/2022 Cash 0.7600 11/21/2022 12/5/2022 12/15/2022 Cash 0.8600 2/14/2023 2/27/2023 3/8/2023 Cash 0.8600 5/23/2023 6/5/2023 6/14/2023 Cash 0.8600 8/22/2023 9/5/2023 9/14/2023 Cash 0.8600 11/20/2023 12/4/2023 12/14/2023 Cash 0.9200 2/20/2024 3/5/2024 3/15/2024 Cash 0.9200 5/21/2024 6/4/2024 6/17/2024 Cash 0.9200 8/20/2024 9/3/2024 9/17/2024 Cash 0.9200 11/25/2024 12/9/2024 12/20/2024 Cash 0.9900 2/18/2025 3/4/2025 3/17/2025 Cash 0.9900 5/21/2025 6/4/2025 6/18/2025 Cash 0.9900 8/19/2025 9/2/2025 9/16/2025 Cash
Your Response
Post
Edit Post
Login is required