|
|
maodeng 发表于 2013-1-28 13:13 6 W: o; y; C( G
. hello 300236
/ ^& j$ b; J% n7 F; j2 c' Istatement out of context8 x+ c3 v) i8 C3 f5 G
r(119);
+ x# T9 M( C1 r+ A! r抱歉,最近太忙了
) N- o+ U2 [# ~2 O9 W$ z2 V. j0 N: Q
1 l) ?0 |& W: _% A ?300236 我用下面的程序试过,没问题2 G" \6 U; P8 o4 s, S9 p
1 E# ~0 ?1 D6 B9 }2 N, w+ O, a# g
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
. q8 s4 u- w/ _; X# Z: f" e
/ ^& A, M1 T2 \6 X1 H V4 tcapture program drop hello: B5 y, J4 g8 O% g' |' u
$ o+ U1 G b- j4 [* ?3 Eprogram hello) X; C+ m3 Z3 W' ?/ x
~- |3 h6 K- f/ W5 d
quietly {
! b0 j% G, c e0 Y( q7 R1 W1 z0 m! E' i
clear
! K6 X% _: D) ?8 F' v% t. {; i3 Z- h
cd D:\stock\test\source
4 @% R( g( e( O# a; H& G' Z; |9 P- J" m( _, |# I
insheet using `1'.txt
* F" X$ e! G% }) z: m/ d1 U( X% g7 [/ c+ g
keep if v5>0% o8 Y6 j, n G# V3 Z/ k
! D2 b$ x8 f/ g9 q; K5 x( A
gen vt=_n
. f) t" d2 g# D- z; |% M * {7 W7 j7 R* d& _
tsset vt8 @) X1 `3 i5 o+ }) v0 q
, Z, w% g/ U+ K
gen zf=D1.v5
& ~& R. W9 t) a) ^& I$ _0 Y8 ~* w* O" {
gsort -v10 [5 N2 j! ?% d# {& y! i
$ s1 V. @9 M/ g- ]: l0 I( { gen avol=v7/v5
( c$ a* H5 z/ \ 3 Z/ o( V- j6 ~% N* v, f+ g$ _
keep if avol>0, b0 B, |" M/ o9 V' a, j
) n4 o6 w- L# m% M' [+ k
drop vt
9 U2 Z7 u2 {) w # F, B1 x2 G p
gen vt=_n+ c( a0 J( B/ l+ y3 U
% E/ m+ ]: s `1 e$ A tsset vt
1 R7 B) {8 t7 r$ _9 l) S
: E+ a; i1 a7 C. x; ^ sum v5 [aw =avol]9 N1 r# t# E* J: ]+ p3 Q
. T7 u; {# Z6 B gen amean=r(mean) in 1
" K/ _/ }& \: D/ e* V " S" {; X- h. |# f. j
* 总加权平均值 amean
3 g [; y! V. V# H " s% g; U8 F1 \. F9 N3 l4 t
' w) P" @$ `; @( Q% y keep in 1/240
9 |: ]2 N$ l# p/ V- Y4 g8 o) i& E# ~ l: P* O8 q
sum v5 [aw =avol]" W% A( \/ J4 Y d0 B
3 N. x( R8 a0 z' v% ~
gen mean240=r(mean) in 13 V' G4 G9 g$ v1 [. ~: H2 c/ m
3 h- \6 N! q- X/ h) q
*240加权平均值 mean240
; A# a" P. O& g2 d* Q( } - h% Y9 C) t. l5 g n
set obs 500
+ k5 |5 u& ~& Y$ i/ P
8 A, W+ K; ]/ D; J) G kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
$ g' a1 w4 ^4 m! \
& o6 Q$ e9 `8 ~5 p5 c% \( \ *240 kdensity(dx240 dy240)+ E9 E# e9 J9 E% ~5 U
/ W* V' D/ ?( M9 [ sum dy240
/ t4 d9 m# A! O6 n6 v9 H) R 6 a- N6 D+ {8 S- J
gen yxis=r(max) in 1. F9 _8 L+ \: d. t5 |
$ @, Y1 Z) n: c i9 W9 [! o, W
gen yxis2=yxis/2
1 U+ l# p8 R6 W6 Z
4 R: M' [5 p+ W1 r4 u *yxis
! }+ K) H3 ]9 C9 s6 v; y5 g v 2 U3 T' l4 ^$ l) P! d
gen dy240max=r(max)
4 U7 g+ R& W( ^. q8 J8 I! d
, G. i9 L+ t g1 K gen dy240minp=r(min)
! p' {0 O( g8 k0 H 1 F6 z: E! S7 q7 j; d& K
gen vtt=_n
, }/ t0 O! u5 G
% b* g, p$ J3 X2 I" z9 k tsset vtt0 m- F* D }) {8 T
) s k8 M# N/ H) Z* L$ L6 {
gen ddy240=D1.dy240/D1.dx240 P6 ^" K" G! Y5 `" R
p. s! b0 E. D+ y' F sum ddy240
# u+ G! M1 I# n2 o6 k8 i0 r- y; L W; Z % g2 f; G/ D9 P9 i4 X) A4 |
gen ddy240max=r(max)
! X% B U+ [& D& ?, p; Q 2 v' k2 @/ w# u$ ]
gen ddy240min=r(min)
! T4 n' _6 K; e3 A 1 E. V8 H& ?0 E6 Q0 r4 R' L( C
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min): P0 M. ?1 W8 Q7 }
% P; G& K8 o/ j8 [' m& \2 R sum ddy240g
2 z" T& ]+ \ h( A% u' g - Q* p* s: i# [7 J! d8 `+ P
gen yxis3=r(min) in 1' R. M A) o0 m7 ~/ u7 h9 K9 y/ o4 o
* C* G/ L/ d7 |. i! M. B7 m gen yxis4=0 in 1
) p2 C# P- a6 o8 u, J 1 j3 Q6 ]; R l1 L$ J8 m
*ddy240g
. n) m% J; P7 p* C* h+ A
+ o# ^2 B0 [: t6 T$ r$ \' U, S
0 a0 A! Q" `1 X/ W preserve ) v" w1 t0 r0 I9 ?- m
0 j- q: ]0 i w# T3 @
sum v5 [aw =avol]6 x3 o# m4 \. \: \. { K
+ `6 a; ^* g* ?4 i# F0 ~
keep if dx240<r(mean), c, X1 p2 g7 K0 K; z
0 d' f9 E5 X+ p+ U2 s sum ddy240: P) c% ]% J9 r3 |
8 V6 I3 L0 X* f8 {4 ^. f if r(min)<0 {
$ Y1 o) ]5 m% F4 |* ]! F/ p$ |
% n; W, `1 k% U; F, ^' s keep if ddy240<=0
4 u/ S" b$ g* G+ j7 c7 f( K2 N! Y+ ^ ) }/ b: H$ _5 K7 J7 u
count
2 u: t0 b! V6 ]& S, o9 z" [
4 X3 n2 d+ c* D x8 C$ U" d0 @ if r(N)>2 {
7 @# p3 R0 C$ Y. L& S , Z S/ r: }( o5 j) Z- l3 e1 ~
pkexamine dx240 dy240
2 H. G; a- \4 v/ I/ L4 n ( R2 ^$ S' |/ x [8 f% V3 C
local tempminp=r(tomc)0 C) W/ q1 I. T! @
restore 2 K( E5 i/ D9 v7 E
}+ h# t! ^3 s( A7 w& U6 u
' [4 w$ e; F* I5 G+ D3 ` else {9 B; E! I+ s8 U
' _- S H7 B# I# W
di "cannot find minp", c& y* _ _9 g6 L5 @ z* ?5 i
6 Q' B" Z. e4 F' F8 @, T7 e; \# S F% A
restore 2 p1 P" u& c0 P! S% t+ Y
sum dx240
2 B' L; l6 Z4 H. w1 ~& ]9 J- l5 j local tempminp=r(mean)6 H. g8 ~( C: n: \5 n0 U# x' M
8 @( w0 q' |, ~* y! {1 M
}
+ f* g; f$ V1 r0 x' Y0 y' B/ U }
& U V! y, ~9 T) Y) E* x else {
& O( s3 S/ {1 A* }. d ; J+ T2 a/ k' ^' W, d3 @! X
keep if ddy240<=r(min)# [, I% m! S, k
+ t# l$ H3 I* c3 K8 L sum dx240
, ]) R$ b( w( C( E7 b
% Q" n1 q8 A4 k6 v- k3 B+ s5 `7 X1 N+ S local tempminp=r(min)7 |4 i1 z) U3 w$ `: p* f
restore
7 c( m& g0 ^0 P }' k5 Z5 S9 K/ T. V2 i, _+ h
* A; o5 s/ x9 I) o6 R- i: p
7 T+ E6 A# s. r. p! o6 \* X% K" H0 ]! z
. ]+ j% a3 L! a7 ]; d" s; k gen minp=`tempminp' in 1
8 _. p0 W' O8 Q5 X5 R *240 minp# w! q* Y2 ?7 z
& z6 P! g$ }0 [
3 W4 G# Z$ C+ V: H1 y
6 L- \7 Y& H( v preserve ! W) R6 ^0 M! u# D
. ^- F( d2 P, p4 L" p sum v5 [aw =avol]
* W1 I# ` j; p0 Q4 s ! {# e4 [) s5 C8 _9 c, O3 p
keep if dx240>r(mean)
9 N# A5 d. g! P- l- d1 F0 M2 d3 S * @" e4 E" z; _$ P
sum ddy240
7 |7 t" h, Y0 B( M- { ; b: H/ W+ R; t8 B( x2 x
if r(max)>0 {7 ]. J" g4 L- ]
) R# H- e$ j' `: N' e keep if ddy240>=0
% q3 D( Y* K8 t& A) [- c " o7 P/ _% Y. ^5 i0 s1 }. U8 |9 H/ {- y
count
: h# f: j" j l* v3 m
! U+ [2 A5 C' O+ X6 q5 y6 V" d% K1 q if r(N)>2 {8 w7 W, w; }9 ?7 s1 I ~
& B* R1 L8 d* J1 Y pkexamine dx240 dy240* `$ v; j! m( H+ m5 n3 s3 F
. ?+ ?4 C' m- {4 |5 ] local tempmaxp=r(tomc) : d# l7 h Q8 Z1 }3 r
restore
5 Y$ r$ m6 H# F$ i' K }
5 r5 L. | I- n6 K% } - J: G" M0 P6 W( L
% R0 _& V" \# G; F; p else {
* r( |: G7 S# h- U restore + Y$ s; e X) i& v
di "cannot find maxp"
2 k) C# q+ A$ f1 ~' m 8 u+ M& O9 L7 A1 m9 m
@7 `' I) k' N b5 A* z+ ~
sum dx240) l6 ]3 W7 g0 L; q
local tempmaxp=r(mean)
$ W: D' w/ [7 I: ~1 \1 T" X + e' C5 Z4 s% Q
}
4 x6 H4 `! U% P$ l/ m' s 5 C3 q6 K& M6 i- Y3 Q( B( C' t
}- U; J$ p: A2 b6 n, q, I; l
% {8 \- E4 g7 d else {; K* u5 M p' Z
7 a/ l% N; z/ V! u; b& N4 N keep if ddy240>=r(max)
/ j! ]! s2 B4 ?7 `: C* \+ F2 g 0 t! u8 b- b3 I
sum dx2408 U" E: x6 h0 E6 l
- T4 t V( F6 i7 Q& M
local tempmaxp=r(max)
% ]% R7 w4 ^# S+ S0 T restore 3 M) I4 z' S! M0 r6 P% R) ~8 @0 [
}- I# G5 W# v; o& ]
) n$ z+ W# V# a4 \3 P! | t+ l7 ?2 o" d# T+ i% V
. u+ _) D2 x, Y/ p- q, Y0 ?3 n4 r% p7 u1 y% T
gen maxp=`tempmaxp' in 1
$ U% z& b* _# F& _% {
! V6 j# {5 f! S9 b) q" E2 s *240maxp9 j( D) {( Z" n
j8 ~; m* r y: z0 V
# K" E0 f0 Q5 T% p) k *-------------ddy240pminp左侧高峰值-----
- b+ {7 h* Q+ h9 j
5 U6 v: p9 z; ]8 U0 ]/ V' U preserve
& G/ S( K2 W$ h4 ?2 \$ P 6 m* u1 Q% _, L( K$ F; x+ O
keep if dx240<`tempminp'
K& t. [8 Y0 `. L" B' ?
# e) G9 c8 X( X! \5 E' D keep if ddy240>05 v: z" N/ I/ ?4 v) ^: R" ^* B, z# k
" F2 `. f, \6 ?* R
count
1 m* h; t' t2 D! E }6 B6 s6 } " Z! F+ O0 \: y4 H( w1 N
if r(N)>2 {
7 T; n5 I. P) P9 Y0 v' ^ ! Y: @! [2 k( x
pkexamine dx240 ddy2408 l% \0 H/ m) q1 P! H; K
# H* R6 Z3 o3 h: m i; D
local tempminphddy240=r(tomc) 6 F' D: E7 X5 q
restore' J9 l- y: s( W6 A" w
}5 p, z: |- }: D0 J
( V2 k+ A4 c. L( T/ _: S) r* f. e
else {
+ V4 v8 f( d8 } restore
6 e- s8 s2 [' T* W# o di "cannot find pminphddy240"
6 O/ N$ e: c6 |- V( ?5 | + x6 n8 e* F2 R* p+ _& q3 [0 n
1 ]6 o3 G" d E! j& Q5 n8 x sum dx240; [9 ^+ T1 Q9 g/ p4 l
local tempminphddy240=r(mean)
5 ]. X5 o8 o2 J$ G; ?
4 v2 l; D% B2 ^3 x. Q
) R$ ^) @" P+ e7 G) K }
1 L" ?3 _& _( K2 y z% v9 W
4 |5 y, y; S( I+ V* E
5 c0 Z$ D& u/ K, _. L ( j4 q4 g" i6 o2 j, E6 V; m
$ ]9 w6 w9 P5 m+ c8 w% f- k6 v
& t4 j$ s. \+ N; V% N& P+ I- c
4 {+ G. j8 L) |' A6 c7 \1 [3 { gen pminphddy240=`tempminphddy240' in 1/ w: G2 o. G3 m: R% g& d9 f4 O
' K2 F3 ^/ S8 w/ h
, r5 R1 e% I* y *-------------ddy240pminp右侧低峰值 -----------------* p: o6 F. ~2 x
preserve 2 T( U v5 f- B4 g4 f
; Y9 c: [ m, `- \& Y keep if dx240>`tempminp'4 T$ O( B/ F: H& }! D
$ m3 k/ F+ `1 w' @) R9 q7 m7 D
keep if dx240<`tempmaxp'! s0 U* }) M3 |
6 P+ w7 v0 T+ G$ V keep if ddy240<06 _) }( D: X" m6 i; A( s2 q
+ i, T& f) s- m; u0 E* I/ S5 c
gen temddy240=-ddy2407 x: `" J3 c6 ]1 m" C* W
( @6 {; i* g& I1 R | count
7 y J7 N; a% X0 o' D- R% R8 b : T0 P1 f8 k* f2 ?1 l# h
if r(N)>2 {
& R( E# L8 g; b# a% _3 y 4 ?% t" X q$ T- k X
pkexamine dx240 temddy240! ?) h' n r9 ~5 U, J
$ f; k+ r2 l# `. g+ C I1 @5 s- s
local tempminplddy240=r(tomc), ?3 T f6 l+ e2 I
restore
4 y" S: Q4 O& D) s' [1 G4 @8 } }
+ }5 D. K5 O* ~5 T$ M " ]/ I& o) K* V' p, c
else {! q" k( t, T& z) v% n! p N1 h
5 J% i$ D% j( }; m
di "cannot find pminplddy240"
+ [! D; q9 y0 \, w8 _. q9 q restore
/ k7 [5 b6 v4 }& F0 R" B5 {0 F
. ?' D; L2 o) L* ?0 z( i sum dx240
) ^( h: N- O0 t0 k; a' R local tempminplddy240=r(mean)9 S- L8 s( [) W9 A! ` N* I, i
8 y: V0 b! B- e+ p
3 P$ { k( G6 j% f: z }
# @3 ~9 U4 D" G1 S5 w# K1 i" |
; A& Q; t5 p# f2 o# m 0 D7 f6 s- g% U
, L7 h* C# O' D1 e
1 }: \5 s6 o( m" q/ ^& I! \
8 k# i+ s( L v4 K8 I" P! }! s gen pminplddy240=`tempminplddy240' in 14 q0 S$ c3 l) C. m3 U
' Y( a; N( |" W! |; T
*-------------ddy240pmaxp左侧高峰值 -------------------
/ i; d$ ]3 D' q2 [: Y: N
$ f+ U- B* y( f3 d preserve : ~: E& e7 j& V' ?/ d: V f7 Z
( R5 A; G, T2 R8 j9 G keep if dx240>`tempminp'
$ v$ k* t/ w; [* n+ ^+ |
' y2 k" ^& I4 D' F4 I keep if dx240<`tempmaxp'
7 F: s2 `! K4 X9 `0 a$ {8 S: Q
" q1 Q( V+ j6 H7 B( e keep if ddy240>0
: U4 v2 `3 j# D" g, v count
3 _) s) ~. K: m0 r* ?3 y% Q2 R! v# \' h/ M
) ]$ i( z2 x; O8 Z0 f( L5 g' Z if r(N)>2 {
: v% G, G' g/ M! B8 O* g. Z, c
X& f1 w- E4 m! r3 z pkexamine dx240 ddy240
0 G5 I# L- @/ q' r3 A$ u
7 t" N4 H0 }$ n) _: M local tempmaxphddy240=r(tomc) 0 P6 `9 G" y7 G( L
) V0 A) \+ |" j
restore
9 T9 ^' n) s) J* c }
+ p/ `; h3 T$ }2 K N# `
$ t4 G9 ?9 O( A: p k! H7 X) W u else {# n1 K( N3 C' d% n3 G
- A$ Q1 f! ]; Z: |3 ^; X# E7 D5 D) b di "cannot find pmaxphddy240"6 x" ^0 p' r' Z% U
restore' S3 y# ] A5 h) O1 L5 H* N
8 l1 [0 G7 t5 h& R4 C
sum dx2405 u( }% [" e2 r6 P- b, I o# _
local tempmaxphddy240=r(mean) : a; I5 O" c' T5 c2 a
' N8 `' ]& [. f$ z |1 {3 N
; V, ^ ~* [8 B9 N2 v8 t) n" I
}4 P" G4 K, x0 A5 _; j
. U; K$ t# K, r% t
8 ?0 e( Z ~4 A2 q / h% ?& k1 m" I$ \7 g
- c: m2 ?# r6 p" @
8 A# _% {# W! Z
+ X' N- B/ m# v gen pmaxphddy240=`tempmaxphddy240' in 1
1 S7 t+ R0 s! |2 ^) k+ X# Q5 y- ]
2 K/ r- O8 e% B% s/ X- _ , |6 r7 [& g7 b* W' f
*-------------ddy240pmaxp右侧低峰值 -------------------
4 x4 c! `6 Y/ X3 Z/ h, j 5 ?" j7 V9 a, ^: f3 \4 p# I
preserve + K8 M- v8 {$ _
! X* p( _7 d* B
keep if dx240>`tempmaxp'
& N4 _: k2 Q5 b7 K5 Q' W
5 ^! q& H# P. r4 F: r1 h gen temddy240=-ddy240
5 s. V! A/ q: O- c$ `/ v7 Y
/ Q- Y/ k, ?/ J8 F. | keep if temddy240>0( x2 v* O; E0 v) d$ t1 O/ l
, g: S/ S. d/ [, O9 f+ x
count
! M- W& |1 ^0 J) r1 X$ Y2 e 2 v; N1 o+ `6 `% r& B2 `8 J6 f
if r(N)>2 {% P2 i9 z( O: H# i
) u0 u3 S6 S' g
pkexamine dx240 temddy240
6 \7 _ P/ P* _, Z7 V" Q
; e) f- a( S: M+ E0 v/ I9 j3 C local tempmaxplddy240=r(tomc) 4 A: D2 F3 B% t$ D+ {7 D
restore
# U, y' V/ \3 a5 I }& t1 ^8 [5 A, d) H. h8 U h# e8 U
: k- W( `- w# a! N8 Z else {
' U1 d1 a6 w# U; T1 m$ P restore
. ?# F' j, p+ \* B9 y di "cannot find pmaxlhddy240"# H& ?0 n/ {3 l; }
- f8 a$ z/ w3 V3 z) j, J/ O% g" W
* |. o' @. G8 J* m% ^8 d sum dx2401 F6 e {& z! P, w
local tempmaxplddy240=r(mean) in 1
- o0 H" K. \- ?' q2 Y$ M; ^
+ D; ?" ]- _* K/ V6 R
& G3 j4 u) U4 [) U( [# w" B5 w }9 I, n7 F: [% ]
! m! J5 P- Z* m7 q4 k! }
, P# b6 q% a) I
+ P+ {/ {8 u0 q- F& m
( G4 V7 W. K4 X4 w0 g
_' ]4 X; a5 h2 J# S" _+ i+ ]. ?
1 Q' r# R, h/ p3 t& A! r gen pmaxplddy240=`tempmaxphddy240' in 1! Y2 ]3 |% L" ]' t
$ z! V8 A( y/ D* q: |1 N" i# ` *-------------------------------------' e3 `" s4 ~7 x
* |# Y- z% t( c3 j* z7 X" u# G gen price5d=v5 in 1/209 H) w- L9 U" M4 u
0 R8 W! z5 g* ]* @8 q$ O gen price5yy=_n in 1/20/ o( x7 I( E8 m4 v, J
; E7 u6 F4 _" q1 \
gen price5y=price5yy*(dy240max-dy240min)/20! D( }% o- \9 |2 x
& W- W* N" Z' |4 z4 U
*price5y &price5d1 ^" {/ G5 f' k8 l8 ]) ^' T
6 c. U5 m. o- G. z' ~% W gen priceny=price5y in 1
) z# o6 r) M j. I7 j5 ^& i2 c
2 Q5 L( z7 H) V& h gen pricen=v5 in 1
9 P+ N. d& B5 E' z v' d6 }3 F2 T3 T. G
: _0 x1 M9 T* Y! w ; j9 W2 v+ s' Q! r
*priceny &pricen: G8 E9 U: O0 _/ u
6 j5 f9 I' V+ n: e: B
! u* ^6 E8 d. p
*-------------------------graph------------------ u: {0 h! [* G i/ U8 r8 f0 r! L
2 V( ~( ^5 q( V7 q( T
tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)! c' a5 Z8 O3 q6 l6 M
2 R1 V1 R8 m" R! v' L$ ^( ], m* \
* ---------可选项目----------------------, H* \1 {/ }9 C1 E! V4 [ M/ J
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))+ N5 V9 y/ \9 A: T' C8 [
}! R8 `7 _. s/ p
end0 n* q: I6 X1 ^: U
|
|