Hello QR Community,

I like to explicity name parameters in Python because I find the code a lot easier to read.

But I also notice different behavior. For example:

slices = self.History(
    symbols    = symbols,
    periods    = 365,
    resolution = Resolution.Daily)
    
history = self.History(symbols, 365, Resolution.Daily)

gives two different results.

Looking at the codebase, I noticed two different call signatures:

public IEnumerable<Slice> History(IEnumerable<Symbol> symbols, int periods, Resolution? resolution = null)
public IEnumerable<DataDictionary<T>> History<T>(IEnumerable<Symbol> symbols, int periods, Resolution? resolution = null)

The only difference is

History<T>

Can someone explain to me what that is and what the underlying issue is?

Thank you!

Author