quick_test_ib.py 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. import sys
  2. import copy
  3. from time import sleep, strftime
  4. import time, datetime
  5. import ConfigParser
  6. from optparse import OptionParser
  7. import logging
  8. import thread
  9. import threading
  10. import traceback
  11. import json
  12. from threading import Lock
  13. from ib.ext.Contract import Contract
  14. from ib.ext.EWrapper import EWrapper
  15. from ib.ext.EClientSocket import EClientSocket
  16. class Wrapger(EWrapper):
  17. def tickPrice(self, tickerId, field, price, canAutoExecute):
  18. """ generated source for method tickPrice """
  19. def tickSize(self, tickerId, field, size):
  20. """ generated source for method tickSize """
  21. def tickOptionComputation(self, tickerId, field, impliedVol, delta, optPrice, pvDividend, gamma, vega, theta, undPrice):
  22. """ generated source for method tickOptionComputation """
  23. def tickGeneric(self, tickerId, tickType, value):
  24. """ generated source for method tickGeneric """
  25. def tickString(self, tickerId, tickType, value):
  26. """ generated source for method tickString """
  27. def tickEFP(self, tickerId, tickType, basisPoints, formattedBasisPoints, impliedFuture, holdDays, futureExpiry, dividendImpact, dividendsToExpiry):
  28. """ generated source for method tickEFP """
  29. def orderStatus(self, orderId, status, filled, remaining, avgFillPrice, permId, parentId, lastFillPrice, clientId, whyHeld):
  30. """ generated source for method orderStatus """
  31. def openOrder(self, orderId, contract, order, orderState):
  32. """ generated source for method openOrder """
  33. def openOrderEnd(self):
  34. """ generated source for method openOrderEnd """
  35. def updateAccountValue(self, key, value, currency, accountName):
  36. """ generated source for method updateAccountValue """
  37. def updatePortfolio(self, contract, position, marketPrice, marketValue, averageCost, unrealizedPNL, realizedPNL, accountName):
  38. """ generated source for method updatePortfolio """
  39. def updateAccountTime(self, timeStamp):
  40. """ generated source for method updateAccountTime """
  41. def accountDownloadEnd(self, accountName):
  42. """ generated source for method accountDownloadEnd """
  43. def nextValidId(self, orderId):
  44. """ generated source for method nextValidId """
  45. def contractDetails(self, reqId, contractDetails):
  46. """ generated source for method contractDetails """
  47. def bondContractDetails(self, reqId, contractDetails):
  48. """ generated source for method bondContractDetails """
  49. def contractDetailsEnd(self, reqId):
  50. """ generated source for method contractDetailsEnd """
  51. def execDetails(self, reqId, contract, execution):
  52. """ generated source for method execDetails """
  53. def execDetailsEnd(self, reqId):
  54. """ generated source for method execDetailsEnd """
  55. def updateMktDepth(self, tickerId, position, operation, side, price, size):
  56. """ generated source for method updateMktDepth """
  57. def updateMktDepthL2(self, tickerId, position, marketMaker, operation, side, price, size):
  58. """ generated source for method updateMktDepthL2 """
  59. def updateNewsBulletin(self, msgId, msgType, message, origExchange):
  60. """ generated source for method updateNewsBulletin """
  61. def managedAccounts(self, accountsList):
  62. """ generated source for method managedAccounts """
  63. def receiveFA(self, faDataType, xml):
  64. """ generated source for method receiveFA """
  65. def historicalData(self, reqId, date, open, high, low, close, volume, count, WAP, hasGaps):
  66. """ generated source for method historicalData """
  67. def scannerParameters(self, xml):
  68. """ generated source for method scannerParameters """
  69. def scannerData(self, reqId, rank, contractDetails, distance, benchmark, projection, legsStr):
  70. """ generated source for method scannerData """
  71. def scannerDataEnd(self, reqId):
  72. """ generated source for method scannerDataEnd """
  73. def realtimeBar(self, reqId, time, open, high, low, close, volume, wap, count):
  74. """ generated source for method realtimeBar """
  75. def currentTime(self, time):
  76. """ generated source for method currentTime """
  77. def fundamentalData(self, reqId, data):
  78. """ generated source for method fundamentalData """
  79. def deltaNeutralValidation(self, reqId, underComp):
  80. """ generated source for method deltaNeutralValidation """
  81. def tickSnapshotEnd(self, reqId):
  82. """ generated source for method tickSnapshotEnd """
  83. def marketDataType(self, reqId, marketDataType):
  84. """ generated source for method marketDataType """
  85. def commissionReport(self, commissionReport):
  86. """ generated source for method commissionReport """
  87. def position(self, account, contract, pos, avgCost):
  88. """ generated source for method position """
  89. def positionEnd(self):
  90. """ generated source for method positionEnd """
  91. def accountSummary(self, reqId, account, tag, value, currency):
  92. """ generated source for method accountSummary """
  93. def accountSummaryEnd(self, reqId):
  94. """ generated source for method accountSummaryEnd """
  95. def connectionClosed(self):
  96. """ generated source for method accountSummaryEnd """
  97. def error(self, id=None, errorCode=None, errorMsg=None):
  98. """ generated source for method accountSummaryEnd """
  99. def error_0(self, strvalue=None):
  100. """ generated source for method accountSummaryEnd """
  101. def error_1(self, id=None, errorCode=None, errorMsg=None):
  102. """ generated source for method accountSummaryEnd """
  103. def test_IB():
  104. ew = Wrapger()
  105. es = EClientSocket(ew)
  106. es.eConnect('localhost', 7496, 5555)
  107. print es.isConnected()
  108. sleep(2)
  109. print 'disconnecting...'
  110. es.eDisconnect()
  111. class x:
  112. def f1(self, a, b, c, d):
  113. print vars()
  114. if __name__ == '__main__':
  115. #test_IB()
  116. y = x()
  117. y.f1(1, 2, {4:5}, [77,88])
  118. vv = {'a': 1, 'c': {4: 5}, 'b': 2, 'd': [6,77, 88]}
  119. y.f1(**vv)