Giter Club home page Giter Club logo

Comments (7)

jdwall avatar jdwall commented on June 8, 2024 1

Looking at events there is no split type right now. Digging on their website, I see no reference to the reverse split for my long shares. However, under Corporate Actions I was able to find how they're handling options that underlying symbol has a corporate action. The call is made at https://api.robinhood.com/options/corp_actions/

For options, the new types are:
cash_in_lieu_settlement
reverse_stock_split

{
  "next": null,
  "previous": null,
  "results": [{
    "id": "7b32efc6-5428-427b-878e-89fe51beaf08",
    "type": "cash_in_lieu_settlement",
    "effective_date": "2020-05-11",
    "state": "handled",
    "chain": "https:\/\/api.robinhood.com\/options\/chains\/f35e58d9-2f88-4985-adf5-6aff15d7067f\/",
    "new_cash_component": "8.1800",
    "old_cash_component": null,
    "new_symbol": "USO1",
    "old_symbol": "USO1",
    "new_trade_value_multiplier": "100.0000",
    "old_trade_value_multiplier": "100.0000",
    "underlying_instruments": [{
      "id": "d93e6a87-fbdb-4d29-92c3-bd01422ef86f",
      "instrument": "https:\/\/api.robinhood.com\/instruments\/cb39e60a-dfc6-44db-89b4-980d7aea608c\/",
      "symbol": "USO",
      "new_quantity": 12,
      "old_quantity": 12
    }],
    "affected_positions": [{
      "new_quantity": "2.0000",
      "old_quantity": "2.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/825e7ee3-1306-45b7-98f5-26829f72a2eb\/",
      "position_type": "long",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/d76c31af-8f62-4c25-8f4f-355f76006e91\/",
      "option_type": "call",
      "new_strike_price": "8.0000",
      "old_strike_price": "8.0000",
      "new_expiration_date": "2020-07-17",
      "old_expiration_date": "2020-07-17"
    }, {
      "new_quantity": "4.0000",
      "old_quantity": "4.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/f7248a2f-e5d1-471a-ba1a-ffb957ba3fa1\/",
      "position_type": "short",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/1974915a-c932-4a5d-b610-714c975c09bf\/",
      "option_type": "call",
      "new_strike_price": "8.5000",
      "old_strike_price": "8.5000",
      "new_expiration_date": "2021-01-15",
      "old_expiration_date": "2021-01-15"
    }, {
      "new_quantity": "2.0000",
      "old_quantity": "2.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/ed5a8561-673c-40d4-8d38-7e58777543ad\/",
      "position_type": "long",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/6316885a-b7f1-4746-8b56-c2b7f62f982f\/",
      "option_type": "call",
      "new_strike_price": "8.0000",
      "old_strike_price": "8.0000",
      "new_expiration_date": "2021-01-15",
      "old_expiration_date": "2021-01-15"
    }, {
      "new_quantity": "2.0000",
      "old_quantity": "2.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/4f3e2d3d-2eaa-4165-8c45-a697000f1362\/",
      "position_type": "long",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/a2f0d573-31b8-42da-8b68-ccb107c5be7d\/",
      "option_type": "call",
      "new_strike_price": "7.5000",
      "old_strike_price": "7.5000",
      "new_expiration_date": "2021-01-15",
      "old_expiration_date": "2021-01-15"
    }],
    "created_at": "2020-05-09T00:11:05.708259Z",
    "updated_at": "2020-05-11T11:11:29.227597Z"
  }, {
    "id": "230c1875-35aa-4ceb-b4ba-124b219b71db",
    "type": "reverse_stock_split",
    "effective_date": "2020-04-29",
    "state": "handled",
    "chain": "https:\/\/api.robinhood.com\/options\/chains\/5b710b1e-1ca2-42b2-8900-0d44175e25ca\/",
    "new_cash_component": null,
    "old_cash_component": null,
    "new_symbol": "USO1",
    "old_symbol": "USO",
    "new_trade_value_multiplier": "100.0000",
    "old_trade_value_multiplier": "100.0000",
    "underlying_instruments": [{
      "id": "6c8ece34-4ace-4862-b3fb-e9b000ba0191",
      "instrument": "https:\/\/api.robinhood.com\/instruments\/01f33471-51d9-4afe-850f-b5f13d58c459\/",
      "symbol": "USO",
      "new_quantity": 0,
      "old_quantity": 100
    }, {
      "id": "e829662c-669d-43fa-83ef-7421f8dd0b26",
      "instrument": "https:\/\/api.robinhood.com\/instruments\/cb39e60a-dfc6-44db-89b4-980d7aea608c\/",
      "symbol": "USO",
      "new_quantity": 12,
      "old_quantity": 0
    }],
    "affected_positions": [{
      "new_quantity": "2.0000",
      "old_quantity": "2.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/d99fe79b-99b9-426b-9915-ed030ed9f526\/",
      "position_type": "long",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/9ae81854-3a23-4b77-a014-ebca2c8690ab\/",
      "option_type": "call",
      "new_strike_price": "8.0000",
      "old_strike_price": "8.0000",
      "new_expiration_date": "2021-01-15",
      "old_expiration_date": "2021-01-15"
    }, {
      "new_quantity": "4.0000",
      "old_quantity": "4.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/46b80124-2b59-4585-9823-02c0e80035db\/",
      "position_type": "short",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/63c1d986-f835-4a50-ae97-2e6973cefaa5\/",
      "option_type": "call",
      "new_strike_price": "8.5000",
      "old_strike_price": "8.5000",
      "new_expiration_date": "2021-01-15",
      "old_expiration_date": "2021-01-15"
    }, {
      "new_quantity": "2.0000",
      "old_quantity": "2.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/24077ebd-aa5f-4083-8b14-d8dcccb62677\/",
      "position_type": "long",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/c9f67dc5-3db3-416a-a483-1ddd3d2061a7\/",
      "option_type": "call",
      "new_strike_price": "7.5000",
      "old_strike_price": "7.5000",
      "new_expiration_date": "2021-01-15",
      "old_expiration_date": "2021-01-15"
    }, {
      "new_quantity": "2.0000",
      "old_quantity": "2.0000",
      "position": "https:\/\/api.robinhood.com\/options\/positions\/dc9a2a2e-bc2f-4ee3-b2c3-836613a04419\/",
      "position_type": "long",
      "option": "https:\/\/api.robinhood.com\/options\/instruments\/0a44ea13-5e00-487f-9a78-7a403d574f5a\/",
      "option_type": "call",
      "new_strike_price": "8.0000",
      "old_strike_price": "8.0000",
      "new_expiration_date": "2020-07-17",
      "old_expiration_date": "2020-07-17"
    }],
    "created_at": "2020-04-29T00:11:56.678982Z",
    "updated_at": "2020-04-29T09:08:17.314714Z"
  }]
}

from robinhood-to-xlsx.

anthonyk1225 avatar anthonyk1225 commented on June 8, 2024

Hey, @jdwall. Thanks for the feedback. I'll look into that this weekend and try to get a fix for it.

from robinhood-to-xlsx.

anthonyk1225 avatar anthonyk1225 commented on June 8, 2024

I've made an update on what data gets recorded and passed into the formulas function for orders. I've also made sure to except on zerodivisionerror, although this is only to see how many instances you run into while exporting to xlsx. Let me know if you still run into the same issue. If you do, let me know how many times it prints out for the zerodivisionerror exception. Thanks a lot!

from robinhood-to-xlsx.

jdwall avatar jdwall commented on June 8, 2024

Thanks for continuing to look into this. I've hit the ZeroDivisionError exception again. I tried looking to see what would cause the error for brands but I couldn't find a reference in the code.

Some could be helpful, could not information... I hold USO options and UCO stock. USO recently went a reverse split so my USO options are now USO1, which may have weird implications on the backend. UCO went a traditional reverse split and I'm long, so I think RH should correctly report that but thought it might help track why my account is different than the others.

(venv) robinhood-to-xlsx % python3 app.py -v
? What would you like to run  xlsx(Excel file)
? What would you like to generate?  done (4 selections)
Starting to write dividends to xlsx
Finished writing dividends to xlsx
Starting to write events to xlsx
Finished writing events to xlsx
Starting to write options to xlsx
SENDING REQUEST FOR THE OPTION INSTRUMENT URL
SENDING REQUEST FOR THE OPTION INSTRUMENT URL
SENDING REQUEST FOR THE OPTION INSTRUMENT URL
SENDING REQUEST FOR THE OPTION INSTRUMENT URL
SENDING REQUEST FOR THE OPTION INSTRUMENT URL
SENDING REQUEST FOR THE OPTION INSTRUMENT URL
Finished writing options to xlsx
Starting to write orders to xlsx
SENDING REQUEST FOR THE INSTRUMENT URL
SENDING REQUEST FOR THE INSTRUMENT URL
There was an error creating an instrument near "Brands": syntax error
SENDING REQUEST FOR THE INSTRUMENT URL
There was an error creating an instrument near "Brands": syntax error
There was an error tallying up profit/loss in orders
Finished writing orders to xlsx

from robinhood-to-xlsx.

anthonyk1225 avatar anthonyk1225 commented on June 8, 2024

Ahhh, that actually is super helpful. Unfortunately, I don't have any data for what that looks like. I'm assuming there's a row in events that represents splits? It would be in the type column.

If that's the case, if you can provide me the fields for a row where there's a split, I can fix that.

This is good stuff, man. Thanks a lot for bringing this to my attention.

from robinhood-to-xlsx.

anthonyk1225 avatar anthonyk1225 commented on June 8, 2024

Hey, just an update. I needed more info in terms of what corp_actions look like and what it does to an account. So I'm doing some research and purchasing small positions that are scheduled to split. Hopefully I can get an initial solution that works for you and others.

from robinhood-to-xlsx.

anthonyk1225 avatar anthonyk1225 commented on June 8, 2024

Root of problem here is #21

from robinhood-to-xlsx.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.