번영 API 부호 보기 QuickSnipe.java로 입찰 | P2P 대여, 필적할 것이다 동료 대여, 대여를 사람을 살게 하는 사람들

올해에 ProsperDays 나의 발표를 위해 나 번영 API로 입찰을 설명하는 의지…? 나는 자바 프로그램을 자르는 빠르고 더러운 입찰을 건설했는가.? (이 프로그램은 입찰한 저격 공구로 황금 시간 이 준비되어 있지 않다, 그러나 아주 가까우 아주 효과적인 민주당원인가.? 나가 말하는 이유 준비되어 있지 않다는 것을 연속적인 통행에 동일한 명부작성에 입찰할 것이라는 점을 의미하는 기억이 결여된다 다는 것을.)

나는 API가 입찰 용감한 새로운 세계에 있는 제 단계의 대여 번영한ㄴ다는 것을다는 것을 생각하는가.? 1개를, 그것은 쉽게 주문 모형을.

이렇게 무엇을 126 선 프로그램은 이 하는가?

그것은 활동적인 AA-C 신용 급료 명부작성을… 질문하는가? 명부작성이 통과하는 경우에 나의 장시간 신용은 거르는가 (열심히 암호로 하는)? 그리고 최소한은 산출했다 곁에 생성되는 ROI 가치를 번영하는가 (? 번영하는가 지면은 매개변수로 안으로 통과되는가)? 그리고 경매에서 잔여 최소한도 시간 그것은 입찰된 확인 시험 또는 진짜 입찰을 둘 것이다.

이 부호의 장시간 신용 필요조건은 무엇인가? 짧은 응답… 아주 단단히.

  • 0 현재 DQ
  • 0-1 마지막 6 달에서 사문한다
  • 마지막에 있는 0명의 공중 기록 10 년
  • 마지막에 있는 0 DQ 7 년
  • 3%와 80% 사이 Bankcard 이용

자바 부호 (나는에 이 부호를 공헌했다 여기에서 있다 SourceForge는 API 번영하는가? 프로젝트).? 그것은 아파치 기초에 의하여 Java2WSDL 그리고 오픈 소스 공구에 의해 생성된 API 종류를 요구한다.

포장 prosper.api; 수입품 java.math.BigDecimal;수입품 java.math.MathContext;수입품 java.rmi.RemoteException;수입품 java.sql. 타임 스탬프;수입품 java.util. 달력;수입품 java.util. Iterator;수입품 java.util.TreeMap; 수입품 javax.xml.rpc.ServiceException; 수입품 com.prosper.services.ProsperAPI.DefinitionResult;수입품 com.prosper.services.ProsperAPI.Field;수입품 com.prosper.services.ProsperAPI.Listing;수입품 com.prosper.services.ProsperAPI.ProsperAPILocator;수입품 com.prosper.services.ProsperAPI.ProsperAPISoap;수입품 com.prosper.services.ProsperAPI.ProsperObject;수입품 com.prosper.services.ProsperAPI.ProsperObjectResult; 공중 종류 QuickSnipe { 개인 끈 m_Username; 개인 끈 m_Password; 개인 두 배 m_MinROI; 개인 int m_HoursToGo; 개인 부울 논리 연산 m_PlaceBids; ProsperAPISoap 개인 m_APISoap; 공중 QuickSnipe (끈 사용자 이름, 끈 암호, 두 배 minROI, int hoursToGo, 부울 논리 연산 placeBids)는 ServiceException를 던진다 { m_Username = 사용자 이름; m_Password = 암호; m_MinROI = minROI; m_PlaceBids = placeBids; m_HoursToGo = hoursToGo; m_APISoap = (새로운 ProsperAPILocator ()).getProsperAPISoap (); } /** * @param args * 주요 공중 공전 공허 (끈 [] args) { 만약에 (args.length! =5) { System.err.println (“사용법: QuickSnipe 사용자 이름 암호 minROI hoursToGo PlaceBids “); 반환; } 시험 { QuickSnipe qs = 새로운 QuickSnipe (args [0], args [1], Double.parseDouble (args [2]), Integer.parseInt (args [3]), Boolean.parseBoolean (args [4])); qs.snipe (); } 캐치 (예외 e) { e.printStackTrace (System.err); } } 개인 공허는 () 던짐 예외를 저격한다 { DefinitionResult res = 안으로 m_APISoap.log (m_Username, m_Password); 끈 토큰 = res.getMessage (); ProsperObjectResult por = m_APISoap.query(token, “listing”, getFieldsString(“listing”,true), “status=2 and (creditgrade=7 or creditgrade=6 or creditgrade=5 or creditgrade=4)”); ProsperObject[] pos = por.getProsperObjects(); TreeMap timeLeftListings = new TreeMap(); for (int i=0; i<pos.length; i++) { Listing l = (Listing)pos[i]; Calendar end = (Calendar)l.getStartDate().clone(); end.add(Calendar.HOUR, (l.getDuration()*24)); long millisToGo = end.getTimeInMillis() – System.currentTimeMillis(); if (l.getNowDelinquent()==0 //my required extended credit and ROI && (millisToGo/1000/60/60)<=m_HoursToGo && l.getInquiriesLast6Months()<2 && l.getPublicRecordsLast10Years()==0 && l.getDelinquenciesLast7Years()==0 && l.getBankcardUtilization().doubleValue()=.03 && ((l.getBidMaximumRate().doubleValue()+l.getROINetDefaultRate().doubleValue()+l.getROIInterestAndFeesRate().doubleValue()+l.getROIServicingFeeRate().doubleValue())>=m_MinROI) ) { timeLeftListings.put(end, l); } } boolean pause = false; for (Iterator i = timeLeftListings.values().iterator(); i.hasNext(); ) { if (pause) // you have to pause to avoid bid throttling {try {Thread.sleep(6000);}catch (Exception ignore){}} Listing l = i.next(); Timestamp startts = new Timestamp(l.getStartDate().getTimeInMillis()); Calendar end = (Calendar)l.getStartDate().clone(); end.add(Calendar.HOUR, (l.getDuration()*24)); Timestamp endts = new Timestamp(end.getTimeInMillis()); long hoursToGo = (end.getTimeInMillis() – System.currentTimeMillis())/1000/60/60; System.err.println(“\n”+startts+” + “+l.getDuration()+” days = “+endts+” | Hours To Go: “+hoursToGo); System.err.println(“Bid on Listing: “+l.getListingNumber()+”\nAt Rate: “+(m_MinROI-l.getROINetDefaultRate().doubleValue()-l.getROIInterestAndFeesRate().doubleValue()-l.getROIServicingFeeRate().doubleValue())); res = m_APISoap.bid(token, l.getListingNumber(), new BigDecimal(50,new MathContext(4)), new BigDecimal(m_MinROI-l.getROINetDefaultRate().doubleValue()-l.getROIInterestAndFeesRate().doubleValue()-l.getROIServicingFeeRate().doubleValue(),new MathContext(4)), m_PlaceBids); pause = true; System.err.println(“Bid Message: “+res.getMessage()); } m_APISoap.logout(token); } private String getFieldsString(String type, boolean authenticated) throws RemoteException { DefinitionResult res = m_APISoap.describe(null, type); Field[] fields = res.getDefinition().getFields(); int count = 0; String s=””; for (int i=0; i<fields.length; i++) { if (authenticated || !fields[i].isAuthenticated()) { if (count!=0) { s+= ","; } s+= fields[i].getName(); count++; } } return s; }}Related StoresIf you liked this article, vote for it on del.icio.us and stumbleupon.

Categories:

Leave a Reply

Your email address will not be published. Required fields are marked *