Python pandas Several DataFrames Best Practice
I think the simplest and most efficient path would be to have two tables. The reason being is that with the 1 big table your algorithm can take O(n^2) since you have to iterate n number of times for each element in your markers and then matching for each element n times for each performance.
If you did the 2 table approach your complexity goes to O(n * m) where n is the number of technical markers and then m is the number of records in performance. In this use case I'd imagine your n to be based on whichever set you want to look at and not the whole set so that means your n < m and therefore you can simple apply a short circuit to make the algorithm much more efficient.
Alternatively if you were able to build a master look up table to capture all the relationships between a performance and a technical marker then your complexity is essentially a hash look up or O(1).
I have a DataFrame with about 6 million rows of daily data that I will use to find how certain technical markers affected their respective stocks’ long term performance. I have 2 approaches, which one is recommended?

Make 2 different tables, one of raw data and one (a filtered copy) containing the technical markers, then do “lookups” on the master table to get the subsequent performance.
Use 1 big table, containing both the markers and the performance data.

I’m not sure what is more computationally expensive – calculating the technical markers for all the rows, even the unneeded ones, or doing the lookups against the master table. Thanks.