Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incremental / Reactive / DataFlow DataFrames #56

Open
sirinath opened this issue Dec 13, 2014 · 5 comments
Open

Incremental / Reactive / DataFlow DataFrames #56

sirinath opened this issue Dec 13, 2014 · 5 comments

Comments

@sirinath
Copy link

Say you have DF a defined as:

A = B + C

Is it possible to provide the functionality with perhaps some special DFs implementation:

  1. A is computed lazily when accessed using the latest values in B and C (Pull)
  2. When B or C's values changes A gets automatically updated (Push)
@ctn
Copy link
Contributor

ctn commented Dec 13, 2014

Suminda, we do have intention to maintain some kind of clean/dirty flag on
DDFs, for some other purposes.

In this case, can you describe the use cases for which you need the
so-called push/pull behavior?

Sent while mobile. Please excuse typos etc.
On Dec 12, 2014 11:21 PM, "Suminda Dharmasena" [email protected]
wrote:

Say you have DF a defined as:

A = B + C

Is it possible to provide the functionality with perhaps some special DFs
implementation:

  1. A is computed lazily when accessed using the latest values in B and
    C (Pull)
  2. When B or C's values changes A gets automatically updated (Push)


Reply to this email directly or view it on GitHub
#56.

@sirinath
Copy link
Author

They are basically:

  • Incremental Computing Mode, and
  • Reactive Computing Mode

For a non DDF reactive case have a look at: https://github.com/lihaoyi/scala.rx

But in this case it needs to be more fine grain as when individual items change the changes propagate.

@ctn
Copy link
Contributor

ctn commented Dec 13, 2014

I know, as a former professor of computer engineering :-). I'm asking about
your actual use cases, which affects prioritization. Thanks.

Sent while mobile. Please excuse typos etc.
On Dec 13, 2014 10:32 AM, "Suminda Dharmasena" [email protected]
wrote:

They are basically:

  • Incremental Computing Mode, and
  • Reactive Computing Mode

For a non DDF reactive case have a look at:
https://github.com/lihaoyi/scala.rx

But in this case it needs to be more fine grain as when individual items
change the changes propagate.


Reply to this email directly or view it on GitHub
#56 (comment).

@sirinath
Copy link
Author

Use cases of what I can think about (biased towards by domain):

  • If you want a signal / technical indicator computed as and when new price data becomes available
  • Compute minimum variance portfolio as and when economic indicators are updated
  • Compute firm wide real-time PnL as and when prices move and new trades are executed
  • etc.

Best is to get feedback from others also in other domains.

It is more convenient to all computations as dataflows for realtime computing use cases.

@sirinath sirinath changed the title Incremental DFs Incremental / Reeactive / DataFlow DataFrames Dec 14, 2014
@sirinath sirinath changed the title Incremental / Reeactive / DataFlow DataFrames Incremental / Reactive / DataFlow DataFrames Dec 14, 2014
@sirinath
Copy link
Author

Following is an interesting product in this space: http://www.ankhor.com/. This is not a library thought but might help you get an idea how best to plan this functionality in DDF.

If you can use DDF to programmatically create this type of flows this would be the ultimate DDF can achieve as I see it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants